乐趣区

关于jdbc:jdbc

jdbc 概述

jdbc(java database connectivity)java 数据库连贯技术
// 注册数据库驱动,让 jdbc 连贯 mysql 驱动程序
1.class.forName("com.mysql.jdbc.Driver");
// 获取数据库连贯,连贯上数据库的 url 地址
2.Connection conn=DriverManager.getConnection{"jdbc:mysql://localhost:3306/ 具体的库名?characterEncoding=utf-8","root","root");
// 获取传输器
3.Statement stat = conn.createStatement();
// 发送 sql 到服务器执行并且返回执行后果
4. String sql= "select * from account";
   ResultSet rs= stat.executeQuery(sql);
// 处理结果,这里的解决形式不惟一,能够有很多种解决形式
能够通过同理数组的形式,将值进行批改赋值,5.while(rs.next()){
int id =

// 资源开释, 这外面的资源开释时,越是晚获取执行的就越先敞开资源
6.  rs.close();
    stat.close();
    conn.close();
    
    jdbcUtil.close(conn.stat.rs)//jdbc 工具类,能够对立开释资源
    resultSet 后果集对象 // 用于封装 sql 语句查问到的后果
    (1)遍历数据行的办法
    next()-- 能够通过 while()语句去执行循环遍历数组
    (2)获取数据的办法
    
    PrepareStatement// 在开发中咱们用的更多的传输器对象是 PreparedStatement 对象,PreparedStatement 是 Statement 的子接口,比 Statement 更加平安,并且可能进步程序执行的效率。### sql 注入攻打
    即便不输出明码只输出用户名也能够实现登陆胜利,这就是 sql 注入攻打
    ### 避免 SQL 注入攻打
    (1)应用正则表达式在提交参数前进行校验,(2)应用 prepareStatement
    ### 正则表达式   
    正则表达式 (regular expression) 形容了一种字符串匹配的模式(pattern),能够用来查看一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出合乎某个条件的子串等。// 自行百度
    数据库连接池
    连接池:就是将连贯寄存在容器中,供整个程序共享,能够实现连贯的复用,缩小连贯创立和敞开的次数,从而进步程序执行的效率!### 如何应用 C3P0 连接池
    所有的连接池都要实现一个接口——DataSource(数据源),因而连接池也被叫做数据源!C3p0 连接池的应用步骤
   1. 导入 jar
   2. 创立数据库连接池(对象)3. 设置根本信息
    设置连贯数据库的根本信息
   (1)形式一:(不举荐) 间接将参数通过 pool.setXxx 办法设置给 c3p0 程序
   (2)形式二:将连贯参数提取到 properties 文件中(举荐)
   在类目录下(开发时能够放在 src 或者相似的源码目录下),增加一个 c3p0.properties 文件
   (3)形式三:将连贯参数提取到 xml 文件中(举荐)
   在类目录下(开发时能够放在 src 或者相似的源码目录下),增加一个 c3p0-config.xml 文件
   4. 从连接池中获取一个连贯对象并且进行应用
   5. 用完连贯后将连贯还回连接池中
   
   
   
    System.out.println("TestJdbc.main()....");

// 为了防止程序出现异常,能够抛出异样解决,

退出移动版