Maven + MyBatis
文章目录
- Maven 配置
- mybatis-config.xml 核心配置文件模板
- mybatis 映射 mapper可以 package不可以解决
Maven目录结构
Maven 配置
- 核心配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!-- .dtd约束 -->
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><!--根元素-->
<configuration><!-- 加载外部配置文件 --><properties resource="jdbc.properties"/><!-- 开启驼峰映射 把数据表中带有下划线的字段 变为 Java驼峰命名方式 user_name -> userName 或 username --><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!-- 配置别名 把长名字 变成 短名字 --><typeAliases><!-- 扫描制定包 把 包下所有的类都起别名 格式: 全部小写 或者 和类名一致 --><package name="com.hebut.pojo"/></typeAliases><!-- 配置数据源 --><environments default="development"><!-- 配置开发环境 --><environment id="development"><transactionManager type="JDBC"/><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><!-- 配置测试环境 --><environment id="test"><transactionManager type="JDBC"/><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><!-- 配置映射文件 --><mappers><!-- 扫描指定包 把包下所有的映射文件都加载进来 --><!-- <package name="com.hebut.dao"/>--><mapper resource="com.hebut.dao/UserMapper.xml"/></mappers>
</configuration>
- 映射文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.hebut.dao.UserMapper"><select id="findAll" resultType="User">select *from user</select><!-- parameterType 自动处理 不写也行 --><insert id="insertUser" parameterType="User">insert into uservalues (#{id}, #{username}, #{birthday}, #{sex}, #{address})</insert></mapper>
- 外部配置文件
jdbc.driver = com.mysql.cj.jdbc.Driver
jdbc.url = jdbc:mysql://127.0.0.1:3306/study
jdbc.username = root
jdbc.password = 123456
- 接口
package com.hebut.dao;import com.hebut.pojo.User;import java.util.List;public interface UserMapper {public List<User> findAll();public int insertUser(User user);}
- pom依赖
<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>com.hebut</groupId><artifactId>mybatis</artifactId><version>1.0</version><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.32</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.36</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.11</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.2.11</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>RELEASE</version><scope>test</scope></dependency></dependencies>
</project>
mybatis-config.xml 核心配置文件模板
<?xml version="1.0" encoding="UTF-8" ?>
<!-- .dtd约束 -->
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><!--根元素-->
<configuration><!-- 加载外部配置文件 resources目录下的 properties 文件 --><!-- <properties resource="jdbc.properties"/> --><properties resource=""/><!-- 开启驼峰映射 把数据表中带有下划线的字段 变为 Java驼峰命名方式 user_name -> userName 或 username --><settings><setting name="mapUnderscoreToCamelCase" value="true"/></settings><!-- 配置别名 把长名字 变成 短名字 --><typeAliases><!-- 扫描指定包 把包下所有的类都起别名 格式: 全部小写 或者 和类名一致 后面的返回类型直接写 实体类名就行--><!-- <package name="com.hebut.pojo"/> --><package name=""/></typeAliases><!-- 配置数据源 --><environments default="development"><!-- 配置开发环境 --><environment id="development"><transactionManager type="JDBC"/><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><!-- 配置测试环境 --><environment id="test"><transactionManager type="JDBC"/><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><!-- 配置映射文件 --><mappers><!-- 扫描指定包 把包下所有的映射文件都加载进来 注解方式必须用这个 --><!-- <package name="com.hebut.dao"/> --><package name=""/><!-- 加载指定映射文件 XML映射文件用 也可以用上面的 --><!-- <mapper resource="com.hebut.dao/XXXMapper.xml"/> --></mappers>
</configuration>
mybatis 映射 mapper可以 package不可以解决
在resources下新建目录时,要用 com/hebut/dao 不能用 com.hebut.dao