【MyBatis】MyBatis项目结构的搭建
Mybatis项目的搭建
依赖
-
将打包方式添加为jar包
<groupId>com.qinghe.mybatis</groupId><artifactId>Mybatis_demo3</artifactId><version>1.0-SNAPSHOT</version><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.12</version><scope>test</scope></dependency><!-- MySQL驱动 --><!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.32</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency></dependencies>
配置
-
添加配置类信息:
application.properties:
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/Mybatis jdbc.username=root jdbc.password=123456
-
log4j.xml:(固定)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"><param name="Encoding" value="UTF-8" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n" /></layout></appender><logger name="java.sql"><level value="debug" /></logger><logger name="org.apache.ibatis"><level value="info" /></logger><root><level value="debug" /><appender-ref ref="STDOUT" /></root> </log4j:configuration>
-
mybatis-config.xml:
修改两处,一处为上面的实体类的路径,另一处为下面的mapper的
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!-- 配置jdbc.properties文件,使数据库的连接属性们从jdbc.properties读取--><properties resource="jdbc.properties"/><!-- typeAliases是设置别名的意思,其将全类名设置别名为最后的类名--><typeAliases><!-- type属性是要设置别名的类,alias属性是设置的类名alias属性可以不进行设置,若不进行设置则其默认的别名就是类名,且不区分大小写,若设置了alias就区分大小写了,严格按照设置的alias属性进行匹配--><!-- 也可以以包为单位,将包中的所有类都设置为默认的类名的别名(不区分大小写)--> <!-- 这里写实体类的包的路径--><package name="com.qinghe.mybatis.pojo"></package></typeAliases><!--设置连接数据库的环境--><environments default="development"><environment id="development"><!--transactionManager标签JDBC表示使用原生的JDBC事务管理方式,例如commit和rollbackMANAGED表示被管理的事务管理方式,例如被Spring管理等--><transactionManager type="JDBC"/><!--设置数据源POOLED表示使用数据库连接池缓存进行连接UNPOLLED表示不使用数据库连接池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><!--引入映射文件--><mappers><!-- 这样是引入单个映射--><!-- <mapper resource="mappers/UserMapper.xml"/>--><!-- 使用package标签可以做到引入一个包下的所有映射文件的效果--><!--***************************注意mapper接口所在的包的包名必须也映射配置文件所在的包名一致mapper接口的名字也必须与xml文件的名字保持一致*****************************--> <!-- 这里写mapper包的路径--><package name="com.qinghe.mybatis.mapper"></package></mappers> </configuration>
创建项目结构
-
创建pojo实体类(不赘述)
-
创建mapper包,包下创建两个以实体类为命名的接口:
DeptMapper、EmpMapper
-
在resources包下创建com.xxxx.xxx.mapper包
在这个包下创建对应的mybatis的xml文件用于写sql:
注意这里要修改命名空间与自己的mapper文件一致
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--注意这个地方的namespace要与自己的mapper接口保持一致--> <mapper namespace="com.qinghe.mybatis.mapper.DeptMapper"></mapper>