快速搭建MyBatis工程
第一步:创建一个maven的工程
这里使用maven来创建MyBatis工程
第二步:导入相关依赖
需要导入MyBatis工程中对应的依赖,以及后期所需要的依赖
<dependencies> <!--mybatis的依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.9</version> </dependency> <!--mysql的依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.30</version> </dependency> <!--lombok依赖[1]idea安装lombok插件 [2]引入依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> </dependency> <!--junit单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!--日志log4j依赖--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> </dependencies>
注意一点:每次导入依赖时,都需要刷新一下maven。
第三步:设置实体类
根据数据库的列名与表名设计实体类
数据库的相关信息:(表名Role)
实体类:
@Data @NoArgsConstructor @AllArgsConstructor public class Role { private Integer id; private String role_name; private String role_code; private String description; }
注意:
①这里的数据库列名要与实体类的属性名一致。
②这里基本数据类型要改成其对应的包装类型。
第四步:MyBatis的配置文件
<?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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!--数据库驱动器--> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <!--数据库的连接路径--> <property name="url" value="jdbc:mysql://localhost:3306/day124?serverTimezone=Asia/Shanghai"/> <!--用户账号--> <property name="username" value="root"/> <!--用户密码--> <property name="password" value="1qaz2wsx"/> </dataSource> </environment> </environments> <!--引入对应的映射文件注意:改为自己的映射文件--> <mappers> <!--第一种是根据资源文件进行映射,一般用于通过xml文件进行映射--> <mapper resource="mapper/RoleMapper.xml"/> <!--第二种是根据类名进行映射,注意:类名需要全称,一般用于通过注解形式映射--> <mapper class="com.hrc.dao.MyRoleDao"/> </mappers> </configuration>
第五步:配置日志文件
由于maven中导入log4j依赖,这里将介绍如何使用日志输出。
①首先在resources文件下创建一个名称为log4j.properties文件
②文件中添加日志信息
log4j.rootLogger=DEBUG, Console #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n log4j.logger.java.sql.ResultSet=INFO log4j.logger.org.apache=INFO log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUGdriver
第六步:设置映射接口和映射文件
映射接口:
//习惯将自己写方法,然后通过接口来调用方法 public interface RoleDao { //比如写查询所有的方法 public List<Role> queryAll(); }
映射文件:
一般写在resources包下创建一个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 namespace="com.hrc.dao.RoleDao"> <!--id:是RoleDao的一个方法名--> <!-- <insert>:这个标签主要用来添加操作 --> <insert id="insert"> insert into t_role values (null,#{roleName},#{roleCode},#{description}) </insert> <!-- <update>:这个标签主要用来修改操作 --> <update id="update"> update t_role set role_name=#{roleName},role_code=#{roleCode},description=#{description} where id=#{id} </update> <!-- <delete>:这个标签主要用来删除操作 --> <delete id="delete"> delete from t_role where id = #{id} </delete> <!-- <select>:这个标签主要用来查询 --> <select id="selectOne" resultType="com.hrc.entity.Role"> select * from t_role where id=#{id} </select> </mapper>
注意一点:写好映射文件后需要在MyBatis配置文件中写好对应的映射关系。
比如:
第七步:测试
public class RoleTest { @Test public void queryTest() throws Exception{ //读取 MyBatis配置文件资源 //import org.apache.ibatis.io.Resources; 注意这里导入的包必须是ibatis下的 Reader resourceAsReader = Resources.getResourceAsReader("mybatis.xml"); //创建SqlSessionFactory工厂(根据读取mybatis配置文件进行创建) SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader); //开启SqlSession会话对象 SqlSession sqlSession = sqlSessionFactory.openSession(); //通过映射关系,获取映射文件中对应的接口 RoleDao roleDao = sqlSession.getMapper(RoleDao.class); //通过接口调用相关查询方法 List<Role> roleList = roleDao.queryAll(); //将结果输出 System.out.println("roleList = " + roleList); } }
效果展示:
标签:工程,映射,id,role,MyBatis,org,log4j,搭建 From: https://www.cnblogs.com/gzyhrc/p/17991186