JDBC

###JDBC

  • Java DataBase Connectivity:Java数据库连接,JDBC实际上就是Sun公司提供的一套和数据库交换的API(Application Program Interface应用程序编程接口)
  • 为什么使用JDBC:因为Java开发语言需要连接多种数据库,为了避免Java程序员每种数据库都学习一套新的api,sun公司提出个JDBC接口,让各个数据库厂商根据JDBC接口写实现类(驱动),这样Java程序员只需要掌握JDBC接口中的方法调用即可访问任何数据库。
  • 如何使用:
  1. 创建一个maven工程

  2. 从maven私服搜索mysql的驱动jar包
    maven.tedu.cn 内网
    maven.aliyun.com 外网

  3. 代码:

     //1. 注册驱动
     Class.forName("com.mysql.jdbc.Driver");
     //2. 获取连接对象
     Connection conn = 
     	DriverManager.getConnection(
     		"jdbc:mysql://localhost:3306/newdb3", 
     		"root", "root");
     System.out.println(conn);
     //3. 创建SQL执行对象
     Statement stat = conn.createStatement();
     //4. 执行SQL
     String sql = 
     		"create table jdbct1"
     		+ "(id int,name varchar(10))";
     stat.execute(sql);
     //5. 关闭连接
     conn.close();
     System.out.println("执行完成!");
    

###Statement执行SQL语句对象

  • execute() 可以执行任意SQL语句,但是推荐执行DDL(数据定义语言)
  • executeUpdate() 推荐执行增删改SQL
  • executeQuery() 执行select查询SQL语句

###数据库连接池DBCP

  • DataBaseConnectivityPool

###PreparedStatement

  • 预编译的SQL执行对象
  • 好处:
    1. 可以避免字符串的拼接,使代码结构更为简洁,不易出错
    2. 可以避免SQL注入风险(因为在编译时已经把SQL逻辑锁死,不会被用户输入的内容改变逻辑)
  • 如果SQL语句中有变量则使用PreparedStatement 如果没有变量则使用Statement
    ###批量操作

###事务相关
create table jdbcaccount(id int,name varchar(10),money int);
insert into jdbcaccount values(1,‘Tom’,5000),(2,‘Jerry’,10);

  • 打开或关闭自动提交
    conn.setAutoCommit(true/false);
  • 提交
    conn.commit();
  • 回滚
    conn.rollback();

###获取自增主键的值

create table team(id int primary key auto_increment,name varchar(10));
create table player(id int primary key auto_increment,name varchar(10),team_id int);

###元数据

  • 数据库元数据

  • 表元数据

###代码介绍

  1. 读取配置文件
  2. PreparedStatement
  3. 登录 SQL注入
  4. 批量操作
  5. 分页查询
  6. 事务相关
  7. 获取自增主键
  8. 球队球员练习
  9. 元数据

10 6500
4 12000
1.4 22000

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员西柚柚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值