Java JDBC基本操作
来源:互联网 发布:centos 防火墙 端口 编辑:程序博客网 时间:2024/05/14 16:47
基本概念
------------------------------------------------------------
1、静态块:static{} //执行优先于构造函数,只执行一次
2、加载类:Class.forName(PackagePath); //加载包路径下的类
3、连接类:Connection //类,在java.sql.driver类下
4、连接url:"jdbc:oracle:thin@localhost:1521:ORCL","scott","tiger"
5、驱动包:ojdbc5.jar(oracle11g)
6、执行类:Statement类,在java.sql.Statement包下
7、结果集:ResultSet
8、集合泛型:限制集合中的存放类型
9、预处理:PreparedStatement类
10、批处理:Statement st = con.createNewStatement();st.addBatch(sql);at.executeBatch(sql);
使用方式
----------------------------------------------------------------------------------------------
1、导入数据库驱动包
--------------------------------------------------------------------------------------
ojdbc12.jar
2、加载oracle驱动:使用Class.forName()方法
--------------------------------------------------------------------------------------
static{
try{
Class.forName("oracle.driver.OracleDriver");
}catch(Exception e){
e.printStack();
}
}
3、获取数据库连接:使用Connection类中的方法
--------------------------------------------------------------------------------------
Connection con = DriverManager.getConnection();
4、执行sql语句:
--------------------------------------------------------------------------------------
Statement stat = con.createStatement();
int ret = stat.executeUpdate(sql); //执行增删改语句
ResultSet rs = stat.executeQuery(sql); //执行查询语句
while(rs.next()){
rs.getInt(1); //拿第一列,数据类型为int
rs.getString(2); //拿第二列,数据类型为Stirng
rs.getInt("pno"); //根据列名拿数据
}
-------------------------------------------------------------------------------------
PreparedStatement ps = con.preparedStatement("insert into usrInfo values(?,?,?,?,?)");
ps.setInt(1,1); //替换第一个问号
ps.setString(2,1); //替换第二个问号
ps.executedUpdate();
-------------------------------------------------------------------------------------
String sql1=""; //批处理方式处理数据
String sql2="";
ps.addbatch(sql1);
ps.addbatch(sql2);
int[] result = ps.excuteBatch();//当返回值大于零,则执行成功
--------------------------------------------------------------------------------------
con.setAutoCommit(false); //设置成手动事务提交
con.commit(); //提交
con.rollback(); //事务回滚
分层设计
-----------------------------------------------------------
1、获取数据库连接及其连接的关闭等操作可以封装在一个Dao类当中
2、每个数据库表都可以在程序中封装为一个实体类
3、每个实体类都封装在与实体类同名的Dao类当中
注意事项
-----------------------------------------------------------
1、Connection类和Statement类需要关闭
2、ResultSet类也需要关闭
3、Statment类容易实现SQL注入,安全性不佳,所以使用PreparedStatement比较安全
------------------------------------------------------------
1、静态块:static{} //执行优先于构造函数,只执行一次
2、加载类:Class.forName(PackagePath); //加载包路径下的类
3、连接类:Connection //类,在java.sql.driver类下
4、连接url:"jdbc:oracle:thin@localhost:1521:ORCL","scott","tiger"
5、驱动包:ojdbc5.jar(oracle11g)
6、执行类:Statement类,在java.sql.Statement包下
7、结果集:ResultSet
8、集合泛型:限制集合中的存放类型
9、预处理:PreparedStatement类
10、批处理:Statement st = con.createNewStatement();st.addBatch(sql);at.executeBatch(sql);
使用方式
----------------------------------------------------------------------------------------------
1、导入数据库驱动包
--------------------------------------------------------------------------------------
ojdbc12.jar
2、加载oracle驱动:使用Class.forName()方法
--------------------------------------------------------------------------------------
static{
try{
Class.forName("oracle.driver.OracleDriver");
}catch(Exception e){
e.printStack();
}
}
3、获取数据库连接:使用Connection类中的方法
--------------------------------------------------------------------------------------
Connection con = DriverManager.getConnection();
4、执行sql语句:
--------------------------------------------------------------------------------------
Statement stat = con.createStatement();
int ret = stat.executeUpdate(sql); //执行增删改语句
ResultSet rs = stat.executeQuery(sql); //执行查询语句
while(rs.next()){
rs.getInt(1); //拿第一列,数据类型为int
rs.getString(2); //拿第二列,数据类型为Stirng
rs.getInt("pno"); //根据列名拿数据
}
-------------------------------------------------------------------------------------
PreparedStatement ps = con.preparedStatement("insert into usrInfo values(?,?,?,?,?)");
ps.setInt(1,1); //替换第一个问号
ps.setString(2,1); //替换第二个问号
ps.executedUpdate();
-------------------------------------------------------------------------------------
String sql1=""; //批处理方式处理数据
String sql2="";
ps.addbatch(sql1);
ps.addbatch(sql2);
int[] result = ps.excuteBatch();//当返回值大于零,则执行成功
--------------------------------------------------------------------------------------
con.setAutoCommit(false); //设置成手动事务提交
con.commit(); //提交
con.rollback(); //事务回滚
分层设计
-----------------------------------------------------------
1、获取数据库连接及其连接的关闭等操作可以封装在一个Dao类当中
2、每个数据库表都可以在程序中封装为一个实体类
3、每个实体类都封装在与实体类同名的Dao类当中
注意事项
-----------------------------------------------------------
1、Connection类和Statement类需要关闭
2、ResultSet类也需要关闭
3、Statment类容易实现SQL注入,安全性不佳,所以使用PreparedStatement比较安全
0 0
- Java JDBC基本操作
- 【Java基础知识】JDBC基本操作
- 【Java基础知识】JDBC基本操作
- Java JDBC学习实战(一): JDBC的基本操作
- JDBC基本操作
- JDBC的基本操作
- JDBC基本操作
- JDBC基本操作
- eclipse JDBC 基本操作
- Jdbc基本操作<一>
- JDBC-mqsql基本操作`
- JDBC 的基本操作
- JDBC笔记-基本操作
- JDBC基本操作
- JDBC的基本操作
- JDBC数据库基本操作
- JDBC的基本操作
- 【JDBC】基本操作
- va_list
- uva 531 妥协 Compromise
- 蒲甘中文离线地图App上线
- 线程与进程的区别,举个例子让你快速理解
- Activity---启动模式标志位
- Java JDBC基本操作
- Maven实战(九)——打包的技巧
- VS项目设置宏
- 茵莱湖中文离线地图App上线
- JS图片滚动代码(无缝、平滑)
- 调用有道词典查词
- Java中使用memcached
- 忘记的C语言中的一些知识点
- 用协同过滤算法对电影评分,并使用RMSE算出预测误差的MapReduce实现