本博客总结一篇关于java操作数据库的实践。
首先使用Java对数据库进行操作需要一个用于执行SQL语句的API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成,这就是我们所使用的JDBC,它使数据库开发人员编写数据库应用程序更加方便。
上手
首先放一张示意图
当我们安装好数据库(MySQL)以及java的编程环境之后,我们所编写的程序并不能直接操作数据库和其中的数据,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。对上图来说,我们只需要实现JDBC接口。
执行步骤以及详解
1、创建一个测试用表
创建一个jdbcstudy数据库,并在里面建立一张表,表名为user,并为其事先插入一些值供我们测试用。
实现这个的sql语句是:
CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `jdbcStudy`;
CREATE TABLE `users`(
`id` INT PRIMARY KEY,
`NAME` VARCHAR(40),
`PASSWORD` VARCHAR(40),
`email` VARCHAR(60),
birthday DATE
)engine=INNODB default charset=utf8;
INSERT INTO `users`(`id`,`NAME`,`PASSWORD`,`email`,`birthday`)
VALUES(1,'zhangsan',123456,'zs@sina.com','1981-12-04'),
(2,'lisi',123456,'lisi@sina.com','1981-12-04'),
(3,'wangwu',123456,'wangwu@sina.com','1979-12-04');
2、引入相应jar包
如何引入jar包:
找到所需要的jar包(可以从官网,也可以使用maven仓库)
在project目录下新建一个lib文件夹,将jar包复制到其中
然后右击lib文件夹执行,执行完毕之后你会发现它展开成许多文件,这样就能正常使用了。
3、编写程序
程序流程是:
1、加载驱动
这里只需要使用由厂商提供的Drive接口即可,在编程中要连接数据库,必须先装载特定厂商的数据库驱动程序,不同的数据库有不同的装载方法。如:
Class.forName("com.mysql.jdbc.Driver"); // MySQL的固定写法
2、定义用户名和url
参考格式为jdbc:mysql://localhost:3306/数据库名?参数1&参数2
String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=true";
String usename = "root";
String password = "******";//(你的密码)
3、连接数据库对象
Connection connection = DriverManager.getConnection(url, usename, password);
Connection接口用于和特定的数据库连接,在连接之后可以执行sql语句,常用方法:
- createStatement():创建向数据库发送sql的statement对象。
- prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。
- prepareCall(sql):创建执行存储过程的callableStatement对象。
- setAutoCommit(boolean autoCommit):设置事务是否自动提交。
- commit() :在链接上提交事务。
- rollback() :在此链接上回滚事务。
4、执行SQL对象
Statement statement = connection.createStatement();
执行类statement,用于执行静态SQL语句并返回它所生成结果的对象。
常用Statement方法:
- execute(String sql):运行语句,返回是否有结果集