1、环境要求:
1、idea,这里用的版本是:IntelliJ IDEA 2020.1.3 x64
2、mysql,这里的版本5.6版本
3、maven,3.8.x
2、maven引入
pom.xml
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.10</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> </dependencies>
mybatis-config.xml头部
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
mybatis-config.xml正文
<mapper namespace="com.item.model.Users"> <select id="GetInfo" resultType="Users"> select * from users </select> </mapper>
log4j.properties配置
#全局配置 log4j.rootLogger=debug,stdout,ERROR #MyBatis日志配直 log4j.logger.com.item.mapper=TRACE #控制台输出配置 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
3、创建测试数据库【mytest】
DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(9) NOT NULL AUTO_INCREMENT, `createDate` datetime(0) NOT NULL, `nickName` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `sex` int(1) NOT NULL, `age` int(3) NOT NULL, `introduce` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci; INSERT INTO `users` VALUES (1, '2022-05-08 20:52:07', '王语嫣', 0, 16, '燕子坞学霸'); INSERT INTO `users` VALUES (2, '2022-05-08 22:06:24', '赵灵儿', 0, 15, '女娲传人'); INSERT INTO `users` VALUES (3, '2022-05-08 22:06:59', '龙姑娘', 0, 18, '冰山美人');
4、创建项目层级
com.item.model下创建数据库对应的模型类
com.item.action下创建测试类
resources下创建【com.item.mapper/UsersMapper.xml】、【log4j.properties】、【mybatis-config.xml】并根据前三个目录内容编写对应配置文件。
5、编辑代码
【Users实体类】
package com.item.model; import java.util.Date; public class Users { private int id; private Date createDate; private String nickName; private int sex; private int age; private String introduce; public int getId() { return id; } public void setId(int id) { this.id = id; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getIntroduce() { return introduce; } public void setIntroduce(String introduce) { this.introduce = introduce; } @Override public String toString() { return "Users{" + "id=" + id + ", createDate=" + createDate + ", nickName='" + nickName + '\'' + ", sex=" + sex + ", age=" + age + ", introduce='" + introduce + '\'' + '}'; } }
【action测试类】
package com.item.action; import com.item.model.Users; 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.Reader; import java.util.List; public class Action { public static void main(String[] args) throws IOException { Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession sqlSession = sessionFactory.openSession(); List<Users> lists = sqlSession.selectList("GetInfo"); //输出 System.out.println(lists); sqlSession.close(); } }
执行成功:
可以看到log4j的日志与对应的数据输出