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()....");
//为了防止程序出现异常,能够抛出异样解决,
发表回复