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()....");
//为了避免程序出现异常,可以抛出异常处理,
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。