mybatis快速使用
- 1.新建maven工程,pom.xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
</dependencies>
<build>
<resources>
<directory>sc/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resources>
</build>
- 2.新建数据表
- 3.新建数据表对应的实体类Account
package com.southwind.entity;
import lombok.Data;
import javax.swing.*;
/**
* @author 已黑化的小白
* @date 2021/9/14 19:44
*/
@Data
public class Account {
private long id;
private String username;
private String password;
private int age;
}
- 创建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">
<configration>
<!--配置mybatis运行环境-->
<environments default="development">
<environment id="development">
<!-- 配置JDBC的事务管理-->
<transactionMannager type="JDBC">
</transactionMannager>
<!--POOLED配置JDBC数据源连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql//localhost:3306/test?useUnicode=ture&characterEncoding=UTF-8"></property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</dataSource>
</environment>
<environment id="b">
<transactionMannager type="">
</transactionMannager>
<dataSource type=""></dataSource>
</environment>
</environments>
</configration>
使用原生接口
mybatis 框架需要开发者自定义SQL语句,写在Mapper.xml文件中,在实际开发中,会为每一个实体类创建对应的Mapper.xml,定义管理该对象数据的SQL。
<?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.southwind.mapper.AccountMapper">
<insert id="save" parameterType="com.southwind.entity.Account">
insert into t_account(username,password,age)values(#{username},#{password},#{age})
</insert>
</mapper>
-
namespace通常设置为文件所在包+文件名的形式
-
insert 标签表示执行添加操作
-
select标签表示执行查询操作
-
update标签表示执行修改操作
-
delete标签标识执行删除操作
-
id是实际调用mybatis方法时需要用到的参数
-
parameterType是调用对应方法时参数的数据类型
2、在全局配置文件config.xml中注册AccountMapper.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>
<!--配置mybatis运行环境-->
<environments default="development">
<environment id="development">
<!-- 配置JDBC的事务管理-->
<transactionMannager type="JDBC"></transactionMannager>
<!--POOLED配置JDBC数据源连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql//localhost:3306/test?useUnicode=ture&characterEncoding=UTF-8"></property>
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</dataSource>
</environment>
</environments>
<!--注册AccountMapper.xml-->
<mappers>
<mapper resource="com/southwind/mapper/AccountMapper.xml"></mapper>
</mappers>
</configuration>
3.调用mybatis的原生接口执行添加操作。
public class Test {
public static void main(String[] args){
//加载mybatis配置文件
InputStream inputStream=Test.class.getClassLoader().getResourceAsStream(name:"config.xml");
SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory= sqlSessionFactoryBuilder.build(inputStream);
SqlSession sqlSession=sqlSessionFactory.openSession();
String statement ="com.southwind.mapper.AccountMapper.save";
Account account=new Account(id:1L,username:"张三",password:"12123",age:22);
sqlSession.insert(statement,account);
sqlSession.commit();//提交事务
}
}