mybatis学习(二)搭建一个xml形式的mybaits测试

本文目的在于快速搭建一个基于xml的mybatis简单测试看看mybatis如何使用,区别于注解形式。

不过一般也不这么用,都是使用spring-mybatis。通过将xml配置到spring中去的。也不自己创建SqlSessionFactory等。

这里类似hibernate的sessionFactory创建。



1.实体类和数据库表

就不写太多了,直接贴代码

create table user(

id int(10) not null,

    user_name varchar(20),

    user_password varchar(20)

);

<span style="font-size:14px;">package demo.domain;

/**
 * Created by guofeipeng on 15/10/25.
 */
public class User {
    private int id;
    private String userName;
    private String password;

    public int getId() {
        return id;
    }

    public String getUserName() {
        return userName;
    }

    public String getPassword() {
        return password;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}
</span>


2.配置configuration.xml 用来加载数据源实体映射

<span style="font-size:14px;"><?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>
        <!--给实体类起一个别名 user -->
        <typeAlias type="demo.domain.User" alias="User" />
    </typeAliases>
    <!--数据源配置  这块用 BD2数据库 -->
    <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/mypro" />
                <property name="username" value="gfp" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--userMapper.xml装载进来  同等于把“dao”的实现装载进来 -->
        <mapper resource="mapper/userMapper.xml" />
    </mappers>
</configuration>
</span>


xml步骤:

(1)配置typeAliases实体别名,用来在实体mappe.xml中使用。其中typeAlias标签的type=demo.domain.User写实体类的全限定名

(2)配置数据源dataSource

(3)加载实体的mapper.xml配置文件。





3.书写dao层代码

<span style="font-size:14px;">package demo.dao;

import demo.domain.User;

/**
 * Created by guofeipeng on 15/10/25.
 */
public interface UserDaoMapper{
    public User getUserById(int id);
}</span>





4.配置实体类映射mapper.xml

userMapper.xml

<span style="font-size:14px;"><?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="demo.dao.UserDaoMapper">

    <resultMap id="userResultMap" type="User">
        <id column="id" property="id"></id>
        <result column="user_name" property="userName"></result>
        <result column="user_password" property="password"></result>
    </resultMap>
    <select id="getUserById" parameterType="int" resultType="demo.domain.User" resultMap="userResultMap">
      select * from user where id=#{id}
    </select>
</mapper>
</span>


xml配置步骤:

(1)resultMap标签

这里映射configration.xml中配置的实体类别名,并且将java pojo的属性与数据库字段对应起来

id是主键,result是其他字段。

(2)select标签

写查询SQL语句,id属性与dao层方法对应。 resultType写权限定名,返回值类型。resultMap属性写第一步配置的resultMap标签id

(3)namespace的值必须是java 实体mapper接口的权限定名。

4.测试结果

<span style="font-size:14px;">public static void main(String[] args){
    InputStream is = DemoTest.class.getClassLoader().getResourceAsStream("configuration.xml");
    SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
    SqlSession session = sessionFactory.openSession();
    UserDaoMapper userMapper = session.getMapper(UserDaoMapper.class);
    User user = userMapper.getUserById(1);
    System.out.println("查询结构==》"+user);
}</span>


(1)加载configuration.xml文件。

(2)创建sqlSessionFactory

(3)创建sqlsession

(4)执行Dao,执行dao方法。




附:项目目录结构


mybatis目录结构.png









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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值