共计 1458 个字符,预计需要花费 4 分钟才能阅读完成。
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()....");
// 为了防止程序出现异常,能够抛出异样解决,
正文完