jdbc

jdbc
//jar 放在 lib 把jar 加入依赖.

获取连接 (这是一个方法)
private Connection getConnection(){
//通过反射加载驱动
Class.forName(“com.mysql.jdbc.Driver”);
//通过DriverManager 来获取连接对象
private Connection conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/login”, “root”, “root”);
}

数据驱动类
通过反射加载驱动, Class.forName(”“)

url = jdbc:msql//当前的ip地址(本机一般用localhost)+mysql数据库的端口号(3306)+/数据库的库名

jdbc  驱动管理器类 DriverManger.getConnection("mysql的url地址","用户名","密码")

执行增删改

连接得到 statement   PreparedStatement   首先父子关系    有缺点 statement 不安全 效率低,拼接麻烦,

PreparedStatement 优点 安全 效率高 预编译   缺点: 每一个都要一一对应

通过连接获取 PreparedStatement =conn.prepareStatement(传的是你的sql语句)

替换占位符 ps.setObject(“索引(从一开始)”,”拼接具体数据”);

执行commit操作 提交 ps.executeUpdate(“没有参数”); 返回的数据库影响的行数 int

查询

通过连接获取 PreparedStatement =conn.prepareStatement(传的是你的sql语句)

替换占位符 ps.setObject(“索引(从一开始)”,”拼接具体数据”);

返回的是一个结果集 ps. executeQuery(“没有参数”);

所有的数据的封装到这个结果集里面

拿到结果集开始便利  
  rs.next()判断是否有下一个对象 
     while(rs.next)

   得到具体的值   rs.getInt("lid") rs.getString("lid")    int  string  根据数据库表里面的类型来定义

    rs.getInt("lid")  这个里面有参数,参数有两种传递方式,  第一种是传递其索引(一般不建议使用,) 第二种传的列的名字 

注意点 : java.lang.NullPointerException    只要是调用方法出错,绝对是你的对象没有实例化 ,一定要把返回值返回出来,

查询总记录数 第一种方法 是:

  select lid(字段名) from   表名  一定把你的指针移到最后一行   rs.last(); ,再获取其行号  rs.getRow() 把行号要return出来

Class.forName(“com.mysql.jdbc.Driver”); 通过反射加载驱动

DriverManager.getConnection(“jdbc:mysql://localhost:3306/login?useUnicode=true&characterEncoding=utf-8”,”root”,”root”); 获取连接
conn.prepareStatement(sql) 通过连接对象得到执行sql的对象
ps.setObject(i+1,objects[i]); 给其占位符赋值(通过for循环)

ps.executeUpdate(); commit 执行你的增加,修改,删除操作

ps.executeQuery(); commit 执行查询的方法

rs.getInt(“lid”) 获取数据库表里面此列的具体值

rs.last(); 把指针移到最后一位

num = rs.getRow(); 获取其行号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值