一、什么是Mybatis
  • mybatis是对jdbc的封装
将sql语句放在映射文件中(xml)
  • 自动将输入参数映射到sql语句的动态参数上
  • 自动将sql语句执行的结果映射成java对象。
二、入门实例

1、创建项目mybatis-01
java项目
maven
2.导入jar包![image]()
【Mybatis学习笔记】01 配置搭建Mybatis
3.加入配置文件
src下创建


  1. dp.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123456
  1. log4j.properties
log4j.rootLogger=DEBUG,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.org.apache=INFO
  1. mybaties核心配置文件:
1. mybaties-config.xml
<?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>

<!-- 引入数据库连接配置 -->
<properties resource="db.properties"></properties>
<!-- 定义返回值别名 -->
<typeAliases>
<!-- <typeAlias type="com.demo.pojo.User" alias="User"/> 给单个返回值添加别名-->
<!-- 自动扫描包名 直接用类名就可以作为返回值 -->
<package name="com.demo.pojo"/>
</typeAliases>
<!-- 定义数据源 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<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>
<!-- <environment id="test"></environment>
<environment id="production"></environment> -->
</environments>
<!-- 定义映射文件 -->
<mappers>
<!-- <mapper resource="com/demo/entity/mapper/UserDaoMapper.xml"/> 单个映射不方便-->
<package name="com.demo.entity.mapper"/>
</mappers>
</configuration>

  1. UserMapper.xml
<?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="对应的接口完整包名+类名",通过namespace找接口。接口名字为XXXdao/mapper都可以。
-->
<!-- statement -->
<!-- <insert> <delete> <update> <select>-->
<!-- paramterType为什么不用写全名? 因为mybatis给参数的全名起了别名。具体参考 -->
<mapper namespace="com.demo.mapper.UserMapper">
<select id="selectUser" parameterType="int" resultType="user">
select * from user where id= #{id}
</select>

</mapper>

4.userMapper.java
【Mybatis学习笔记】01 配置搭建Mybatis
5.创建POJO
【Mybatis学习笔记】01 配置搭建Mybatis

6.创建工具类
public class MybatisUtil {
private static SqlSessionFactory sqlSessionFactory=null;
static {
try {
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
} catch (IOException e) {
e.printStackTrace();
}
}
private MybatisUtil() {}
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
}


7.创建测试用例
package com.demo.mapper;

import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import com.demo.pojo.User;
import com.demo.util.MybatisUtil;

public class UserMapperTest {
@Test
public void testSelectUser() {
SqlSession session = MybatisUtil.getSqlSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
User user = userMapper.selectUser(1);
System.out.println(user);
session.close();
}
}


相关文章:

  • 2021-10-10
  • 2021-04-15
  • 2021-12-19
  • 2021-06-02
猜你喜欢
  • 2021-11-20
  • 2021-07-26
  • 2021-08-09
  • 2021-07-23
  • 2021-12-01
  • 2021-07-21
  • 2021-11-06
相关资源
相似解决方案