Mybatis 快速入门例子

工程目录结构

在这里插入图片描述

引入mybatis库和数据库链接驱动
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test</groupId>
    <artifactId>mybatis-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
</project>
创建数据库用户表
create database test default charset=utf8;
create table user(
	id int(11) primary key auto_increment,
	name varchar(20),
	age int(2)
)engine=InnoDB default charset=utf8;
创建实体类
public class User {
    
    

    private Integer id;

    private String name;

    private Integer age;
    // setter getter...
}
创建对象关系映射文件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">
<mapper namespace="com.test.quickstart.mapper.UserMapper">
	<!-- resultType指定结果集类型别名,也可以使用限定类名 -->
    <select id="selectById" parameterType="int" resultType="User">
        select * from user where id = #{id}
    </select>
</mapper>
创建配置文件mybatis-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>
    <settings>
        <!-- 开启驼峰映射 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!-- 控制台打印sql -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>

    <!--配置别名,对应mapper配置文件中resultType中的别名 -->
    <typeAliases>
        <typeAlias type="com.test.quickstart.bean.User" alias="User"/>
    </typeAliases>
    
    <environments default="jd">
        <environment id="jd">
            <!-- 使用jdbc事务管理 -->
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>
创建UserMapper.java
@Mapper
public interface UserMapper {
    
    
    User selectById(Integer id);
}
测试
public class Demo01Test {
    
    

    private SqlSessionFactory sessionFactory;

    @Before
    public void before() throws IOException {
    
    
        // 读取配置文件
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        sessionFactory = new SqlSessionFactoryBuilder().build(is);
    }

    @Test
    public void testSelect() {
    
    
        SqlSession session = sessionFactory.openSession();
        UserMapper userMapper = session.getMapper(UserMapper.class);
        User user = userMapper.selectById(1111);
        System.out.println(user);
        session.close();
    }

猜你喜欢

转载自blog.csdn.net/coffee_shop/article/details/105723439