javase的JDBC用法小总结
来源:互联网 发布:php 采集今日头条 编辑:程序博客网 时间:2024/05/29 17:25
在项目下创建一个lib目录,把驱动放入该目录下,然后点击右键--->Build Path--->Add to Build Path
代码步骤:
1、加载驱动: Class.forName(驱动)
比如是mysql数据库,则驱动里填写com.mysql.jdbc.Driver(D要大写大写大写)
2、建立连接:
Connection con=DriverManager.getConnection(url,user,pwd)
url格式:协议://IP地址:端口号/数据库名(比如mysql协议就是jdbc:mysql)
user和pwd就是要连接数据库的用户名和密码
3、创建一个sql对象
有两种对象(1、Statement,2、Preparestatement,一般用第二种,第一种的用得不太方便)
姿势:Preparestatement pre=con.preparestatement(sql)
sql是你要执行的sql语句,条件表达式可以用字段名=?表示
比如 select * from student where name=?
然后用pre.setObject(位置,?)这里的内容跟上面的?对应
如果有多个?,可以用多个pre.setObject(位置,?)来设置对应的?
这里的位置是从1开始,1代表的是第一个?,不是从0开始的!
4、执行sql语句
pre.executeUptate();---->这是执行增删改语句
pre.executeQuery();---->这是执行的查询语句,返回的是一个Resultset的结果集
5,、处理结果
增删改返回的是一个int类型的值,如果返回的非0,则代表执行的语句运行成功,如果返回的是0,则代表执行的语句运行失败,可以根据返回的数值来做 一些处理
查询返回的是一个结果集,可以遍历这个结果集,来得到查询多行数据
6、释放资源
后开的先关,pre.close();con.close();
制作JDBC工具类方法
代码如下:
public class JUtil {//设置加载驱动private static String driver="com.mysql.jdbc.Driver";//设置urlprivate String url="jdbc:mysql://192.168.1.13:3306/student";//设置数据库账号和密码private String user="root";private String pwd="123456";//设置全局变量private Connection con=null;private PreparedStatement ps=null;private ResultSet rs=null;//使用一个静态代码块,来加载驱动(创建工具类对象时,只在第一次创建的时候执行,这里也只用加载一次)static{try {Class.forName(driver);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//建立与数据库的连接public void getcon(){try {con=DriverManager.getConnection(url,user,pwd);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//执行增删改的sql语句,第一个参数是sql语句//比如insert into student values(?,?,?)//第二个参数为对应?位置上的的值,遍历这个数组,把数组里的值跟?对应上//然后返回一个int类型的值,来判断执行sql是否成功public int update(String sql,Object[] obj){int k=0;getcon();try {ps=con.prepareStatement(sql);for(int i=0;i<obj.length;i++){ps.setObject((i+1), obj[i]);}k=ps.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}close();return k;}//执行查询的sql语句,参数同上,不过返回的是一个resultset的结果集public ResultSet select(String sql,Object[] obj){getcon();try {ps=con.prepareStatement(sql);for(int i=0;i<obj.length;i++){ps.setObject((i+1), obj[i]);}rs=ps.executeQuery();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return rs;}//最后释放资源,执行增删改的时候是已经执行完了可以先释放资源再返回处理的结果//而执行查询的时候如果先释放了资源,返回的resultset就为空了//所以执行增删改以后可以不用调用close方法,执行查询后要调用close方法public void close(){try {if(rs!=null)rs.close();if(ps!=null)ps.close();if(con!=null)con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
- javase的JDBC用法小总结
- javaSE jdbc的连接 详记
- define 的用法,小总结。
- typedef的用法小总结
- javase面向对象个人小总结
- JavaSE----static关键字的用法
- 原始的jdbc连接数据库以及操作(小总结)
- 关于jdbc连接mysql的一点小总结
- 关于QByteArray用法的小总结
- Qt QTableWidget用法的一些小总结
- strchr函数的用法小总结
- 黑马程序员——JavaSE之数组排序的小总结一
- javaSE常用的方法总结
- JavaSE的复习内容总结
- JAVASE总结--线程的死锁
- JavaSE--12--集合的总结
- volatile用法小总结
- localStorage用法小总结
- Android Log工具类
- C#控制台基础 自定义类的实例作为函数的形参,解除形参与实参之间的关联
- Spring Bean基本概念
- 微信开发中使用curl上传永久素材
- 静态添加fragment/小心有坑的地方
- javase的JDBC用法小总结
- 如何查看iOS应用的id并获取资源图片/解压Assets.car文件
- Kindle商店请求出错怎么办?附解决办法
- HDU 1789 Doing Homework again(贪心)
- Android 运行时请求权限
- 求两个字符串公共子串的最长长度
- 一分钟理解handler机制
- 2-最基本的HTML元素
- 软件各版本的意思