MyBatis基本操作流程
新建一个Maven工程
设置打包方式
打包方式为jar包
<packaging>jar</packaging>
导入依赖
<dependencies>
<!--MyBatis核心-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!--junit测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<!--Mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!--log4j日志-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
新建MyBatis核心配置文件
新建一个mybatis-config.xml在resource下面
配置MyBatis核心文件
去官网复制mybatis的核心配置文件到mybatis-config.xml中
新建jdbc.properties文件
在resource下面创建jdbc.properties文件,并填写相应的数据库 连接信息
引如properties文件
<properties resource="jdbc.properties"></properties>
配置数据库信息
通过${}引入jdbc.properties中的数据库连接信息
<!--environments:配置多个连接数据库的环境
属性:
default:设置默认使用的环境的id
-->
<environments default="development">
<!--
environment:配置某个具体的环境
属性:
id:表示连接数据库的环境的唯一标识,不能重复
-->
<environment id="development">
<!--
transactionManager:设置事务管理方式
属性:
type:“JDBC/MANAGED”
JDBC:表示当前环境中,执行SQL时,使用JDBC中原生的事务管理方式(事务的提交和回滚需要手动执行)
MANAGED:表示被管理,例如Spring
-->
<transactionManager type="JDBC"/>
<!--
dataSource:配置数据源
属性:
type:设置数据源的类型
POOLED:表示使用数据库连接池缓存数据库连接
UNPLOOED:表示不使用连接池
JNDI:表示使用上下文的数据源
-->
<dataSource type="POOLED">
<!--连接数据库的驱动-->
<property name="driver" value="${jdbc.driver}"/>
<!--连接数据库的地址-->
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
创建实体类
创建实体类,并创建它的有参和无参构造函数、get和set方法、toString方法
package mybatis.pojo;
public class User {
private Integer id;
private String username;
private String password;
private Integer age;
private String sex;
private String email;
public User(Integer id, String username, String password, Integer age, String sex, String email) {
this.id = id;
this.username = username;
this.password = password;
this.age = age;
this.sex = sex;
this.email = email;
}
public User() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
", email='" + email + '\'' +
'}';
}
}
设置实体类别名
在mybatis-config.xml中通过typeAliases设置类型别名
<!--设置类型别名-->
<typeAliases>
<!--
方法一:
typeAlias:设置某个类型的别名(其实就是给权限定类名取一个别名)
属性:
type:设置需要设置别名的类型
alias:设置某个类型的别名(不区分大小写),如果不设置该属性,则会有一个默认的别名(就是类名且不区分大小写)
-->
<!--<typeAlias type="com.fulin.mybatis.pojo.User" alias="User"></typeAlias>-->
<!--
方法二:
以包为单位,将包下的所有类型设置默认的类型别名,即类名且不区分大小写
-->
<package name="com.fulin.mybatis.pojo"/>
</typeAliases>
引入mapper映射文件
以包为单位将mapper映射文件引入到mybatis核心配置文件
<!--引入映射文件 -->
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
创建模板
创建mybatis核心配置文件和mapper文件的模板
Setting → Editor → Code Style → File and Code Templates → + → 命名
(将需要变动的地方空出来)
操作数据库
这里的UserMapper就相当于之前的UserDao的功能一样,是一个dao接口。service层通过调用持久层来操作数据库。