java操作数据库的基本方法
Posted blog_thyin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java操作数据库的基本方法相关的知识,希望对你有一定的参考价值。
此次开发工具为eclipse,才有的数据库驱动是mysql-connector-java-5.1.8-bin.jar
第一步,在eclipse的工程目录中引用mysql驱动
驱动下载地址:https://dev.mysql.com/downloads/connector/j/
选择build path 然后选择configure build path
再选择libraries,选择add external library,找到之前下的数据库驱动,确认,ok
然后下一段测试代码将数据库驱动起来
public class test { public static void main(String []args) { try { //mysql数据库设置驱动程序类型 Class.forName("com.mysql.jdbc.Driver"); System.out.println("mysql数据库驱动加载成功"); } catch(ClassNotFoundException e) { e.printStackTrace(); } } }
驱动代码运行一次就行了,之后就是操作数据库了
基本操作增改删查,原理都是一样的
先创建一个Connection对象
Connection connection = null; String user="root";//用户名 String password="19980713";//密码 String url = "jdbc:mysql://localhost:3306/task?user="+user+"&password="+password+"&useUnicode=true&characterEncoding=utf-8";//获得连接的语句 try{ connection = (Connection)DriverManager.getConnection(url); }catch(SQLException e){ e.printStackTrace(); }
获得连接之后就是对connection进行操作了
查询记录
String sql = "select id,name,job,department,state,authority from worker;"; try { PreparedStatement ps = (PreparedStatement) connection.prepareStatement(sql);//预编译过程 ResultSet rs = ps.executeQuery();//查询一般用executeQuery,返回的是查询的结果集 //下面是对结果集进行操作 while(rs.next()) { count++; Vector v = new Vector(); v.add((rs.getString(1))); v.add((rs.getString(2))); v.add((rs.getString(3))); v.add((rs.getString(4))); v.add((rs.getString(5))); v.add((rs.getString(6))); worker.add(v); } }catch(SQLException e1) { e1.printStackTrace(); }
插入记录
String sql = "insert into worker(name) " +"value("+ ""\\"小明"\\"" + ")"; PreparedStatement ps = (PreparedStatement) connection.prepareStatement(sql); try { PreparedStatement ps = (PreparedStatement) connection.prepareStatement(sql); if(ps.executeUpdate()==1){//返回一个int值表示返回的条数 int n = JOptionPane.showConfirmDialog(null, "添加成功,是否继续添加?", "系统提示",JOptionPane.YES_NO_OPTION); if(n == 0){ //清空面板 name.setText(""); sex.setText(""); authority.setText(""); birthday.setText(""); department.setText(""); job.setText(""); email.setText(""); state.setText(""); remark.setText(""); specialty.setText(""); address.setText(""); tel.setText(""); edu_level.setText(""); }else{ dispose(); JoinNewMember frame = new JoinNewMember(); } } } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }
其余操作就不贴代码了,以此类推就是的,我先准备一下六级去了,要不待会再来更新
2018/06/16/18:39更新 考完六级回来了 段落匹配放最后面的 没做完 亏了 十二月份再来哈哈哈哈
补上:
上面之所以不贴代码是因为套路都一样
先实例化一个Connection对象,然后调用prepareStatement()将SQL语句带入其中进行预编译
然后根据情况调用execute executeUpdate 或者executeQuery
下面来了解一下这三个函数execute() executeQuery() executeUpdate()的区别和适用情况
executeQuery()顾名思义----执行查询
返回的是一个结果集,我们对结果集进行处理得到我们想要的数据.
结果集的组成是行列的,行是指例句,列指属性,rs.next()可以看做一个迭代过程
executeUpdate顾名思义---执行更新
对应的一般就是用于执行 INSERT、UPDATE 或 DELETE或者一些定义数据库的语句,例如CREATE TABLE等,返回值是执行操作收到影响的行数
关于execute,我刚开始以为挺简单的,后来才发现我低估了他的用途,我等菜鸟不敢随意总结,我在别的地方看到一个挺好的详解:
以上是关于java操作数据库的基本方法的主要内容,如果未能解决你的问题,请参考以下文章