JDBC
- 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库
JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。 - 使用步骤:
-
导入驱动jar包:在pom.xml中加入
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.48</version> </dependency>
-
注册驱动
Class.forName(“com.mysql.jdbc.Driver”); -
获取数据库连接对象 Connection
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/band”, “root”, “root”); -
定义sql
String sql = “INSERT INTO band(name,remark) values (‘软工一班’,‘张三’)”; -
获取执行sql语句的对象 Statement
Statement stmt = conn.createStatement(); -
执行sql,接受返回结果
int count = stmt.executeUpdate(sql); -
处理结果
if(count>0){
system.out.println(“添加成功”);
}else{
system.out.println(“添加失败”);
} -
释放资源
stmt.close();
conn.close();
-
- 注意:若添加数据出现乱码,则将jdbc:mysql://localhost:3306/band改成jdbc:mysql://localhost:3306/band?useUnicode=true&characterEncoding=utf8这样指定编码即可
Druid
-
概念:其实就是一个容器(集合),存放数据库连接的容器。
当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 -
好处:
- 节约资源
- 用户访问高效
-
实现:
- 标准接口:DataSource javax.sql包下的
- 方法:
- 获取连接:getConnection()
- 归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接
- 方法:
- 一般我们不去实现它,有数据库厂商来实现,常用的连接池如下
- C3P0:数据库连接池技术
- Druid:数据库连接池实现技术,由阿里巴巴提供的
- 标准接口:DataSource javax.sql包下的
-
使用步骤:
1. 导入jar包<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.22</version> </dependency>
2. 写入数据库需要内容
private static DruidDataSource dataSource=null;
private static void initDataSource() throws Exception{
if(dataSource==null){
dataSource=new DruidDataSource();
dataSource.setUrl("jdbc:mysql:///band1 useUnicode=true&characterEncoding=utf8");//连接数据库的路径
dataSource.setUsername("root");