数据库的连接

数据库操作
1.connection接口:
与特定数据库连接,在连接上下文中执行SQL语句并返回结果。
2.statement接口:
在已建立连接的基础上向数据库发送SQL语句。
statement对象:用于执行不同参数的简单SQL语句
preparement对象继承statement,用于执行动态SQL语句
callablestatement对象继承preparement,执行对数据库的存储过程调用
3.preparementstatement接口:
用于执行动态SQL语句。
4.drivermanger类:
管理数据库中所有驱动程序。
5.resultset接口:
类似于一个临时表,用于暂时存放数据库查询操作所获得的结果集。

package test;
import java.sql.*;
public class Conn {
    static Connection con;
    static Statement sql;
    static PreparedStatement sql1;  //预处理语句
    static ResultSet res;
    public  Connection getcConnection() {
         try {   //加载数据库驱动类
             Class.forName("com.mysql.jdbc.Driver");
             System.out.println("数据库加载成功");
         }catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.err.println("数据库加载失败");
         }
         try {    //通过访问数据库的URL获取数据库连接对象
             con = DriverManager.getConnection("jdbc:mysql:"+"//localhost:3306/test","root","1234");
             System.out.println("数据库连接成功");
         }catch (SQLException e) {
             e.printStackTrace();
         }
          return con;  //按方法要求返回一个connection对象
     }
    public static void main(String[] args) {
        Conn c = new Conn();
        c.getcConnection();   //调用连接数据库的方法
        try {
//             sql = con.createStatement();//获得statement对象,向数据库发送sql语句
//             sql1 = con.prepareStatement("select *from information where id= ?");//实例化预处理对象
            sql1 = con.prepareStatement("select *from information ");//实例化预处理对象
//             sql1.setInt(1,2);//设置参数,查询编号为2的学生
//             res = sql.executeQuery("select *from information");//对数据库对象查询和修改,并将查询结果放在resultset类的对象
//             res = sql.executeQuery("select *from information where name like'张%'");//模糊查询%代替0个或多个字符,_代替一个字符
             res = sql1.executeQuery();//执行预处理语句
             System.out.println("执行增删改前数据");
             while(res.next()) {
                 String id = res.getString("id");
                 String name = res.getString("name");
                 String sex = res.getString("sex");
                 String birthday = res.getString("birthday");
                 System.out.print("编号:"+id+"----");
                 System.out.print("姓名:"+name+"----");
                 System.out.print("性别:"+sex+"----");
                 System.out.println("生日:"+birthday);//切记最后一个用println
                 }
                //预处理添加数据
                 sql1 = con.prepareStatement("insert into information values (?,?,?)");
                 sql1.setString(1,"张扬");
                 sql1.setString(2,"女");
                 sql1.setString(3,"2000");
                 sql1.executeUpdate();
                //预处理更新数据     
                 sql1 = con.prepareStatement("update information set birthday = ? where id =(select min(id) from information)");
                 sql1.setString(1,"2020");
                 sql1.executeUpdate();
                 //预处理删除数据
                 Statement stmt=con.createStatement();
                 stmt.executeUpdate("delete from information where id =(select min(id) from information)");
                 sql1.setInt(1,1);
                 sql1.executeUpdate();     
                //执行sql语句
                 sql1 = con.prepareStatement("select *from information"); 
                 res = sql1.executeQuery();
                 System.out.println("执行增删改后的数据");
                 while(res.next()) {
                     String id = res.getString("id");
                     String name = res.getString("name");
                     String sex = res.getString("sex");
                     String birthday = res.getString("birthday");
                     System.out.print("编号:"+id+"----");
                     System.out.print("姓名:"+name+"----");
                     System.out.print("性别:"+sex+"----");
                     System.out.println("生日:"+birthday);//切记最后一个用println
                     }
       }catch (Exception e) {
        e.printStackTrace();
       }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值