MyBatis学习之路(1)_环境搭建

来源:互联网 发布:js字符串格式化时间 编辑:程序博客网 时间:2024/05/22 06:42

最近刚入职公司,公司的环境是SSM,先让我们做点基于SSM的小案例,自己也在边学边做,正好将这个过程分享出来,共同进步。
旨在从最初开始,可以搭建一个完整地项目,以及到后面的原理解析以及和SSM的搭建,今天的第一天只是搭建一个MyBatis的环境,把搭建流程写出来。

项目所需jar包:mybatis-3.2.2.jar,mysql-connector-java-5.1.26.jar
1. 项目目录
这里写图片描述

2.开发步骤

  1. 创建Web项目(略)
  2. 导入jar包(略)
  3. 创建数据源(sqlMapConfig.xml)
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <!-- 配置数据源,事务 -->    <environments default="test">        <environment id="test">            <!-- 事务:JDBC/MANAGED-自己管理去 -->            <transactionManager type="JDBC"/>            <!-- 数据源:POOLED -->            <dataSource type="POOLED">                <property name="driver" value="com.mysql.jdbc.Driver"/>                <property name="url" value="jdbc:mysql://localhost:3306/springmvc?charsetEncoding=utf8"/>                <property name="username" value="root"/>                <property name="password" value="root"/>            </dataSource>        </environment>    </environments>    <!-- 映射文件mapper -->    <mappers>        <mapper resource="cn/shopin/mapper/PersonMapper.xml"/>    </mappers></configuration>

4.创建数据库
这里写图片描述
5.创建实体类person

public class Person implements Serializable{    private int id;    private String name;    private int age;    private String joinDate;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getJoinDate() {        return joinDate;    }    public void setJoinDate(String joinDate) {        this.joinDate = joinDate;    }

6.创建映射文件

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- 配置命名空间,区别名称 --><mapper namespace="cn.shopin.mapper.PersonMapper">    <select id="find" parameterType="int" resultType="cn.shopin.domain.Person">        select * from        person    </select>    <select id="findById" parameterType="int" resultType="cn.shopin.domain.Person">        select *        from person where id=#{id}    </select></mapper>

7.测试

public class MyBatisTest {    /**     * MyBatis连接测试    * @Title: getSessionFactory     * @Description: TODO(....)     * @param @return    设定文件     * @return SqlSessionFactory    返回类型     * @throws     */    private static SqlSessionFactory getSessionFactory() {        //声明sqlSessionFactory        SqlSessionFactory sqlSessionFactory = null;        //指定资源文件        String resource = "sqlMapConfig.xml";        try {            //得到sqlSessionFactory            sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources                    .getResourceAsReader(resource));        } catch (IOException e) {            e.printStackTrace();        }        //返回sqlSessionFactory        return sqlSessionFactory;    }    @Test    public void testFind() {        //得到session        SqlSession session = getSessionFactory().openSession();        //获取person集合        List<Person> personList = session                .selectList("cn.shopin.mapper.PersonMapper.find");        //简单的输出用来验证是否成功        System.out.println(personList.size());    }    @Test    public void testFindById() {        SqlSession session = getSessionFactory().openSession();        Person person = session.selectOne(                "cn.shopin.mapper.PersonMapper.findById", 1);        System.out.println(person);    }
0 0