1.JDBC介绍
JDBC(Java DataBase Connectivity)是Java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够执行SQL语句。它由一组用Java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现,本文中的代码都是针对MySQL数据库实现的。
Java中提倡面向接口开发,而最经典的接口设计莫过于JDBC数据库接口。
JDBC(Java Database Connectivity)称为Java数据库连接。它的存在使得JAVA程序与数据库系统之间建立了一条通信的渠道。
JDBC 本质是一种规范或者一组接口。
JDBC 驱动程序是对JDBC规范完整的实现。不同的数据库产商可以根据JDBC
接口规范,开发用于不同的数据库的驱动。
JDBC是Java连接数据库的基础技术,JDO(Java Data Object),Hibernate,MyBatis等技术框架都是使用了JDBC技术。
所以,只要学会了JDBC,就能够用Java连接不同的数据库,换一下驱动就行,也更容易理解各种使用数据库的Java框架技术。
2.新建一个Spring项目、
文件 -> 新建项目
根据个人需求修改项目名称
开发工具勾选一下,同时为了连接Oracle数据库,需要安装Oracle驱动
之后进行项目生成
3.Java连接数据库 Mybatis
自动生成try-catch语句
选定代码块,快捷键: Ctrl+Alt+T -> 选择try-catch语句
1.首先添加Mybatis依赖:
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
<!-- 日志包 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<!--版本1.2.0否则无效-->
<version>1.2.0</version>
</dependency>
2.resources包中新建mybatis包 -> 包中新建mybatis-config.xml:
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 由于Spring Boot自动配置缘故,此处不必配置,只用来做做样。-->
</configuration>
resources包中新建application.yaml,配置mybatis:
application.yaml
spring:
datasource:
username: root
password: 1234
url: jdbc:mysql://localhost:3306/my
driver-class-name: com.mysql.jdbc.Driver
# 配置mybatis规则
mybatis:
config-location: classpath:mybatis/mybatis-config.xml #全局配置文件位置
mapper-locations: classpath:mybatis/*.xml #sql映射文件位置
3.新建一个mapper包 -> 包中新建接口AccountMapper:
AccountMapper.java
package com.atgg.boot.mapper;
import com.atgg.boot.bean.Account;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AccountMapper {
public Account getAcct(String id);
}
同时在bean包中新建一个account类:
Account.java:
package com.atgg.boot.bean;
import lombok.Data;
@Data
public class Account {
private String userId;
private String userName;
}
4.resources中新建一个mapper包 -> 包中新建一个AccountMapper.xml与第三步中名称对应:
注意,是Copy Reference!!!
AccountMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lun.boot.mapper.UserMapper">
<select id="getUser" resultType="com.lun.boot.bean.User">
select * from user where id=#{id}
</select>
</mapper>
5.新建一个service包 -> 包中新建 AccountService.java:
AccountService.java
package com.atgg.boot.service;
import com.atgg.boot.bean.Account;
import com.atgg.boot.mapper.AccountMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AccountService {
@Autowired
AccountMapper accountMapper; //红线不用管
public Account getUser(String id){
return accountMapper.getAcct(id);
}
}