Mybatis随笔

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。

话不多说,先上代码:


maven项目的目录结构:
这里写图片描述

1、利用maven导包:

    <!-- mybatis依赖包 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.8</version>
    </dependency>
    <!-- 测试依赖包 -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.2</version>
    </dependency>
    <!-- Mysql数据库驱动包 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>3.1.12</version>
    </dependency>

2、新建一个实体类——Dept

        public class Dept implements Serializable {

            private Integer id;
            private String name;
            private String loc;

            public Integer getId() {
                return id;
            }
            public String getName() {
                return name;
            }
            public String getLoc() {
                return loc;
            }
            public void setId(Integer id) {
                this.id = id;
            }
            public void setName(String name) {
                this.name = name;
            }
            public void setLoc(String loc) {
                this.loc = loc;
            }
            @Override
            public String toString() {
                return "Dept [id=" + id + ", name=" + name + ", loc=" + loc + "]";
            }
        }

3、创建一个数据访问接口类(DAO)——DeptDAO

        public interface DeptDAO {
            //一个查询所有数据方法
            public List<Dept>findAll();
        }

4、添加Mybatis映射文件(一般一个DAO对应一个映射文件)——DeptMapper.xml

        <?xml version="1.0" encoding="UTF-8" ?>  
        <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"      
         "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
        <!-- 不使用接口映射器时namespace可以随意写,但是调用的时候要注意使用,使用映射器的话此处必须为数据访问接口类的包名+类名-->
        <mapper namespace="dao.DeptDAO">

            <resultMap type="entity.Dept" id="deptResultMap">
                <result property="name" column="deptName"></result>
            </resultMap>

            <!-- id对应数据访问接口中的方法名 -->
            <select id="findAll" resultMap="deptResultMap">
                SELECT id,deptName,loc FROM dept
            </select>

        </mapper>

5、添加mybatis的配置文件——SqlMapConfig.xml

        <?xml version="1.0" encoding="UTF-8" ?>  
        <!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN" 
            "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
        <configuration>
            <environments default="environment">
                <environment id="environment">
                    <transactionManager type="JDBC" />
                    <dataSource type="POOLED">
                        <property name="driver" value="com.mysql.jdbc.Driver" />
                        <property name="url"
                            value="jdbc:mysql://localhost:3306/db_book?characterEncoding=UTF-8" />
                        <property name="username" value="root" />
                        <property name="password" value="xxxxxx" />
                    </dataSource>
                </environment>
            </environments>
            <!-- 配置Mapper(映射)文件信息地址 -->
            <mappers>
                <mapper resource="entity/DeptMapper.xml" />
            </mappers>
        </configuration> 

6、一切就绪,接下来就是测试了,创建一个test测试类

        public class TestCase {

        @Test
        //不使用映射器
        public void test(){
            SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
            SqlSessionFactory ssf = ssfb.build(TestCase.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml"));
            SqlSession session = ssf.openSession();
            //调用SqlSession查询方法出入mapper中的id
            List<Dept>lists = session.selectList("dao.DeptDAO.findAll");
            System.out.println(lists);
        }

        @Test
        //使用映射器
        public void test1(){
            SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
            SqlSessionFactory ssf = ssfb.build(TestCase.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml"));
            SqlSession session = ssf.openSession();
            DeptDAO dao = session.getMapper(DeptDAO.class);
            List<Dept>lists = dao.findAll();
            System.out.println(lists);

        }
    }
        未完待续、、、、、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值