
MyBatis笔记——mybatis配置基础环境
配置步骤
1. 引入pom依赖
<dependencies>
<!--MyBatis核心依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.16</version>
</dependency>
<!--Junit测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
<!--MySql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</dependency>
<!--log4j日志管理-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.23.1</version>
</dependency>
</dependencies>
2. 创建 mybatis-config.xml
在 src/main/resources
下创建:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://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/mybatis"/>
<property name="username" value="mybatis"/>
<property name="password" value="EzW8ccePcXABXyBR"/>
</dataSource>
</environment>
</environments>
<!--引入映射文件-->
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
</configuration
3. 创建POJO
位于:src/main/java/xxx/xxx/pojo/
@Data
public class User {
private int id;
private String username;
private String password;
private Integer age;
private char sex;
private String email;
}
注:
代码中出现的 @Data 的lombok的注解处理,后面应该会出个详细介绍,使用lombok可以省掉大部分构造函数、setter和getter。
如:@Data
= 构造器 + getter + setter + toString
4. 创建数据操作接口
位于src/main/java/xxx/xxx/mapper/
:
public interface UserMapper {
/**
* 添加用户
* @return
*/
int insertUser();
/**
* 根据id查询用户
* @param id
* @return
*/
User selectUserById(Integer id);
/**
* 修改用户
*/
void updateUser(Integer id);
}
5. 创建对数据操作的映射
位于src/main/resources/mappers
下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--空间名称需要指定对应的mapper文件-->
<mapper namespace="com.zxb.mybatis.mapper.UserMapper">
<!--插入用户-->
<insert id="insertUser">
insert into t_user values(null, '张三', '123', 23, '女', '123@qq.com')
</insert>
<update id="updateUser">
update t_user set username = '李四' where id = #{id};
</update>
<select id="selectUserById" resultType="com.zxb.mybatis.pojo.User">
select * from t_user where id=#{id}
</select>
</mapper>
测试
在
src/test/java/xx/xx/test
下创建MyBatisTest.java
@Log4j2
public class MyBatisTest {
@Test
public void testMyBatis() throws IOException {
// 加载核心配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
// 获取SqlSessionFactoryBuilder 对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 获取SqlSessionFactory 对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
// 获取SqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession(true); // true 自动提交事务,不然无法修改表
// 获取mapper对象 UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 调用mapper方法
// int i = userMapper.insertUser();
// sqlSession.commit(); // 手动提交
// System.out.println("result:" + i);
// System.out.println("select result:"+userMapper.selectUserById(1));
// log.info("result:" + i);
log.info("select result:{}", userMapper.selectUserById(1));
userMapper.updateUser(1);
log.info("update success!");
log.info("select result:{}", userMapper.selectUserById(1));
}
}
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 zxb
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果