博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA连接数据库后,对数据库进行增删改查
阅读量:5955 次
发布时间:2019-06-19

本文共 3110 字,大约阅读时间需要 10 分钟。

 

1.Statement

增删改:

方法:execute(String SQL)

    String url="jdbc:Access:///E://A//shop.mdb";

    Connection con=null; //数据库连接对象

    Statement st = null;//数据库操作对象

    //SQL语句

    //String sql="insert into goods values('7','鬼王','男','鬼王宗','伏龙鼎')";

    String sql="update goods set 门派='青云门' where 姓名='张小凡'";

    Class.forName("com.hxtt.sql.access.AccessDriver");

    con = DriverManager.getConnection(url,"","");

    System.out.println("连接成功");

    //为数据库创建一个操作对象          

    st=con.createStatement();//作用为,将数据库连接对象与数据库操作对象连接           

      st.execute(sql);  //此方法用于执行insert  update delete语句

    System.out.println("插入操作成功");

查找:

方法:executeQuery(String  SQL)返回ResultSet对象

    String url="jdbc:Access:///E://A//shop.mdb";

    Connection con=null;

    Statement st = null;//执行查询的对象

    String sql="select * from goods";

    Class.forName("com.hxtt.sql.access.AccessDriver");

    con = DriverManager.getConnection(url,"","");

    System.out.println("连接成功");

    st = con.createStatement();//创建查询对象

    ResultSet rs;

    rs = st.executeQuery(sql);//执行查询语句,并返回一个结果

     //查询结果是以指针的形式出现的,指针指向第一条记录,通过移动指针来查看结果

    while(rs.next()){

//通过循环依次读取查询结果

    //与数据库访问有关的索引都是从1开始

             System.out.println(rs.getString(2)+":"+rs.getString(3)+":"+rs.getString(4));

                }

 

2. 预编译方式PreparedStatement 

 

预编译(PreparedStatement)与Statement的不同点

 

1.预编译在与数据库连接对象建立连接时,就将SQL语句传入对象中,再次调用时就不需要传入SQL

 

2.预编译可以在SQL中传入参数

 

查询:executeQuery()

 

Connection con=null;

 

String url="jdbc:Access:///E://A//shop.mdb";

 

PreparedStatement ps = null;

 

//?就是设置的未知参数,方便传入参数

 

String sql = "select name,性别,门派,武器  from goods where name=?" ;

 

ResultSet rs = null;         

 

Class.forName("com.hxtt.sql.access.AccessDriver");

 

con = DriverManager.getConnection(url);

 

System.out.println("连接成功!");

 

ps = con.prepareStatement(sql);

 

//通过setString来传入参数“1”表示未知数处于SQL语句中的位置

 

 ps.setString(1, "鬼王");

 

rs=ps.executeQuery();   

 

while(rs.next()){ System.out.println(rs.getString(1)+":"+rs.getString(2)+":"+rs.getString(3)+":"+rs.getString(4));

 

           }

 

增删改:executeUpdate()

 

Connection con=null;

 

       String url="jdbc:Access:///E://A//shop.mdb";

 

       PreparedStatement ps = null;

 

       String sql="insert into goods values(?,?,?,?,?)";

 

        Class.forName("com.hxtt.sql.access.AccessDriver");

 

        con = DriverManager.getConnection(url);

 

        System.out.println("连接成功!");

 

        //将prepareStatement与数据库连接对象建立连接

 

           ps = con.prepareStatement(sql);

 

           ps.setInt(1, 9);

 

           ps.setString(2, "金铃儿");

 

           ps.setString(3, "女");

 

           ps.setString(4, "合欢派");

 

           ps.setString(5, "不详");

 

           //用于执行insert delete update语句

 

           //返回一个int的值,代表通过此方法修改的数据库的行数

 

           int i = ps.executeUpdate();

 

           if(i>0)System.out.println("操作成功");

 

           else System.out.println("操作失败");

 

3. 存储方式连接CallableStatement

 

区别:只有调用的接口方式不同,其他操作均相同

无参

Connection con=null;

       //调用存储函数的接口

       CallableStatement cs = null;

       ResultSet rs;

       String url="jdbc:Access:///E://A//shop.mdb";

       try {

           Class.forName("com.hxtt.sql.access.AccessDriver");

           con = DriverManager.getConnection(url);

           System.out.println("Connected!");

           //输入要执行的存储过程的名称

           cs =  con.prepareCall("{call proPlayFilm}");

           rs = cs.executeQuery();

           while(rs.next()){

           System.out.println(rs.getString(1)+":"+rs.getString(2)+":"+rs.getString(3)+":"+rs.getString(4));

           }

 带参

?就是存储过程的参数

 

转载于:https://www.cnblogs.com/tangwanzun/p/5823459.html

你可能感兴趣的文章
庖丁解牛获取连接状态数的awk数组命令
查看>>
jQueryMobile新版中导航栏按钮消失的解决方法
查看>>
使用触发器记录oracle用户登陆信息
查看>>
postgresql 用户安全配置
查看>>
一张图看懂normal,static,sealed,abstract 的 区别
查看>>
5 kvm虚拟磁盘扩容
查看>>
关于Ubuntu下apt的一些用法及和yum的比较
查看>>
android随机运算器开发小结1
查看>>
Centos 6.5下NIS服务安装配置
查看>>
我的友情链接
查看>>
MediaPlayer的错误修复
查看>>
网络安全之***手法计中计
查看>>
Struts2拦截器的使用 (详解)
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
面向服务的架构SOA
查看>>
lnmp+lamp编译后,编译参数查看
查看>>
OEL7.2下Oracle11.2.0.4RAC部署
查看>>
nagios安装与配置
查看>>
RedHat 设置IP、网关、DNS
查看>>