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 configuration PUBLIC "-//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和rollback MANAGED表示被管理的事务管理方式,例如被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 mapper PUBLIC "-//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>