Mybatis学习笔记一:环境搭建以及简单使用


1、Mybatis简介


MyBatis 本是 apache的一个开源项目 iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
MyBatis 是支持普通 SQL查询, 存储过程和高级映射的优秀 持久层框架。MyBatis 消除了几乎所有的 JDBC代码和参数的手工设置以及 结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
以上内容转自百度百科


2、环境搭建


2.1、开发环境搭建


开发环境:IntelliJ IDEA,操作系统:Mac OS 10.12,使用maven管理项目;
首先创建项目,并导入相关库,pom.xml文件如下:
<dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.39</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.1</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
主要使用mybatis、mysql-connector-java,使用junit进行测试,具体使用哪个版本都可以,下载最新的即可。


2.2、数据库创建


数据库使用mysql,并建立表User
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
--  Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(50) DEFAULT NULL,
  `password` varchar(50) DEFAULT NULL,
  `address` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

-- ----------------------------
--  Records of `user`
-- ----------------------------
BEGIN;
INSERT INTO `user` VALUES ('1', 'zhang', 'password', 'uestc');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;


2.3、配置mybatis配置文件


在main/java/resources文件夹下建立配置文件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>
    <!-- 别名 -->
    <typeAliases>
        <typeAlias alias="User" type="com.dfz.mybatis.model.User"/>
    </typeAliases>

    <!-- 配置数据库参数 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" />
                <property name="username" value="root"/>
                <property name="password" value="zsfarther"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!-- 指定xml文件位置 -->
        <mapper resource="com/dfz/mybatis/model/User.xml"/>
    </mappers>
</configuration>
可以看到,第一部分为配置实体类的别名;
第二部分为配置数据库的地址等相关信息;
第三部分指定实体类的映射文件。
创建实体类User.java,这个就不再贴代码了,可以按照数据库信息来创建一个User

配置User的映射文件,并写一个查询方法。
<?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.dfz.mybatis.model.UserMapper">
    <select id="selectUserByID" parameterType="int" resultType="User">
        select * from user where id = #{id}
    </select>
</mapper>
在这里定义了方法的命名空间,方法名,参数以及返回值。其中返回值的User是在前面的mybatis-config.xml文件中定义的别名,并以此来映射实体类。


2.4、测试


使用JUnit对mybatis进行测试,测试代码如下:
public class Chapter1Test {

    private SqlSessionFactory sqlSessionFactory;
    private Reader reader;

    @Before
    public void before() {
        try {
            //读取mybatis参数
            reader = Resources.getResourceAsReader("mybatis-config.xml");
            //建立session factory
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Test
    public void test() {
        //打开session
        SqlSession session = sqlSessionFactory.openSession();
        //调用查找方法
        User user = session.selectOne("com.dfz.mybatis.model.UserMapper.selectUserByID",1);
        System.out.println(user);
        session.close();
    }
}

结果如下:


3、总结


Mybatis的简要启动顺序为:
1、读取配置文件;
2、根据配置文件创建session factory;
3、使用session factory创建session;
4、使用session调用某个方法;
5、关闭session。
Mybatis需要配置的内容包括:
1、配置typeAliases,即某个实体类的别名,用于描述参数;
2、配置数据库参数,包括环境、事务管理以及数据库地址等;
3、配置实体映射文件。
未尽之处后期再补,代码下载地址: https://github.com/EdwardEricZhang/MybatisFun





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值