1、maven 下的 pom.xml 配置
1.1、导入jar包
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--父工程-->
<groupId>org.example</groupId>
<artifactId>mybatis-Study</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>mybatis-01</module>
<module>mybatis-02</module>
</modules>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
1.2、 xml 和 mapper 文件都放在 src/main/java 中,配置导出设置。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
2、mybatis 配置文件创建
2.1、在resources 创建一个 properties 文件
用来配置 driver、url、username、password (文件名随便起)
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username=root
password=12345678
properties.png
2.2 mybatis 核心配置文件创建
建议和官方一样的命名 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>
<properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/zhao/dao/UserMapper.xml"/>
</mappers>
</configuration>
mybatis-config.png
3、interface 和 mapper.xml 文件创建
3.1、接口创建
package com.zhao.dao;
import com.zhao.pojo.User;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface UserDao {
public List<User> getUserList();
public User getUserById(int id);
public User getUserByIdAndPwd(@Param("id") int id,@Param("password") String password);
public User getUserByIdPWDForMap(Map<String,Object> map);
public int inserUser(User user);
public int updateUser(User user);
public int deleteUser(int id);
public List<User> getUserByName(String name);
}
interface.png
3.2 根据接口创建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.zhao.dao.UserDao">
<select id="getUserList" resultType="com.zhao.pojo.User">
select * from mybatis.user
</select>
<select id="getUserById" resultType="com.zhao.pojo.User">
select * from mybatis.user where id = #{id}
</select>
<select id="getUserByIdAndPwd" resultType="com.zhao.pojo.User">
select * from mybatis.user where id = #{id} and pwd = #{password}
</select>
<select id="getUserByIdPWDForMap" resultType="com.zhao.pojo.User">
select * from mybatis.user where id = #{MID} and pwd = #{MPWD}
</select>
<insert id="inserUser" parameterType="com.zhao.pojo.User">
insert into mybatis.user (id,name,pwd) value (#{id},#{name},#{pwd})
</insert>
<update id="updateUser" parameterType="com.zhao.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id = #{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id = #{id}
</delete>
<select id="getUserByName" resultType="com.zhao.pojo.User">
select * from mybatis.user where name like #{name}
</select>
</mapper>
xml.png
4、测试 junit
4.1、在test java 下创建和interface 一样的 package 的测试路径
same.png4.1 mybatis 工具类
package com.zhao.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class MybatisUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
String resource = "mybatis-config.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
util.png
网友评论