美文网首页java技术
mybatis入门例子-极简

mybatis入门例子-极简

作者: yedp | 来源:发表于2019-01-23 17:15 被阅读0次

    添加依赖pom.xml

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!-- 提供mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
    </dependencies>
    

    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>
        <settings>
            <!-- changes from the defaults -->
            <setting name="lazyLoadingEnabled" value="false"/>
        </settings>
        <typeAliases>
            <!--这里给实体类取别名,方便在mapper配置文件中使用 -->
            <typeAlias alias="user" type="com.example.entity.User"/>
        </typeAliases>
    
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/db1"/>
                    <property name="username" value="root"/>
                    <property name="password" value="admin"/>
                </dataSource>
            </environment>
        </environments>
        <!--这里添加的是执行CRUD操作的接口对应的配置文件(xml文件) -->
        <mappers>
            <mapper resource="mapper/UserMapper.xml"/>
        </mappers>
    </configuration>
    
    

    实体类User

    public class User {
        private Long id;
        private String userId;
        private String userName;
        private Integer age;
        private String email;
        private Date addTime;
        private Date modifyTime;
        private Integer isDel;
    ...
    }
    
    

    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">
    <mapper namespace="com.example.mapper.UserMapper">
        <resultMap id="BaseResultMap" type="com.example.entity.User">
            <id column="id" jdbcType="BIGINT" property="id"/>
            <result column="user_id" jdbcType="VARCHAR" property="userId"/>
            <result column="user_name" jdbcType="VARCHAR" property="userName"/>
            <result column="age" jdbcType="INTEGER" property="age"/>
            <result column="email" jdbcType="VARCHAR" property="email"/>
            <result column="add_time" jdbcType="TIMESTAMP" property="addTime"/>
            <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime"/>
            <result column="is_del" jdbcType="TINYINT" property="isDel"/>
        </resultMap>
        <sql id="Base_Column_List">
        id, user_id, user_name, age, email, add_time, modify_time, is_del
      </sql>
        <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
            select
            <include refid="Base_Column_List"/>
            from user
            where id = #{id,jdbcType=BIGINT}
        </select>
    </mapper>
    
    

    Mapper

    import com.example.entity.User;
    
    public interface UserMapper {
        User selectByPrimaryKey(Long id);
    }
    
    

    测试

    import com.example.entity.User;
    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 org.junit.Before;
    import org.junit.Test;
    
    import java.io.InputStream;
    
    public class UserMapperTest {
        // 指定MyBatis配置文件
        final String RESOURCE = "mybatis-config.xml";
        SqlSessionFactory sessionFactory = null;
    
        @Before
        public void before() {
            try {
    
                // 1、指定MyBaties配置文件
                InputStream inputstream = Resources.getResourceAsStream(RESOURCE);
                // 2、创建SqlSessionFactory()
                sessionFactory = new SqlSessionFactoryBuilder().build(inputstream);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        @Test
        public void test() {
    
            // 3、获取SqlSession
            SqlSession session = sessionFactory.openSession();
            UserMapper userMapper = session.getMapper(UserMapper.class);
            User user = userMapper.selectByPrimaryKey(1L);
            System.out.println(String.format("userId:%s,userName:%s,age:%s", user.getId(), user.getUserName(), user.getAge()));
        }
    
    }
    

    相关文章

      网友评论

        本文标题:mybatis入门例子-极简

        本文链接:https://www.haomeiwen.com/subject/pcrsjqtx.html