Mybatis入门笔记--一些概念

创建session

开启一个session需要使用到SqlSessionFactory,而SqlSessionFactory是由SqlSessionFactoryBuilder创建的。具体的代码就是:

String resource = "configuration.xml";
InputStream stream = Resources.getResourceAsStream(resource);
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(stream);
SqlSession session = ssf.openSession();

session的增删改查

在session里进行增删改查一系列的操作,对应的方法都由session提供,可以传递参数给sql语句。比如说:

Order order = session.selectOne("domain.Order.selectOrder", "0001");

session的方法还有:selectList、selectMap、delete、update、insert等,select操作的方法最多。

就上面的selectOne(xxx, xxx)而言,这里接收两个参数。第一个用于定位到所要执行的sql语句,第二个是传递的参数。这里的意思是查询一个id为”0001”的订单信息。

mapper配置文件

order.xml配置文件也叫做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="domain.Order">
    <select id="selectOrder" parameterType="String" resultType="domain.Order">
        select * from orders where id = #{id}
    </select>
</mapper>

这里的namespace用于区分相同的id,和java里的package效果类似。parameterType是传入参数的类型,resultType是返回的数据类型。<select></select> 里面就是所需要的查询语句,这里的#{}是占位符,会被传入的参数所替代。

多个传递参数

在where查询条件中,常常是会有多个条件的,所以参数也会有多个,那该如何做呢?看下面这个例子:

1.首先需要将参数用Map封装起来

Map<String, String> params = new HashMap<String, String>();
params.put("receiverAddress", "China");
params.put("receiverName", "Bean");

List<Order> orders = session.selectList("domain.Order.selectOrders", params);

for(Order ord : orders) {
  System.out.println(ord);
}

2.在order.xml文件中,parameterType的类型改为Map,同时在sql语句中增加相应的参数即可:

<select id="selectOrders" parameterType="Map" resultType="domain.Order">
        select * from orders where receiverAddress = #{receiverAddress} and receiverName = #{receiverName}
</select>

关于configuration.xml配置文件

对于configuration.xml文件,这里需要引入所需的各种mapper配置文件,也就是<mapper></mapper>节点。

<mappers>
        <mapper resource="domain/order.xml" />
        <mapper resource="domain/user.xml" />
</mappers>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值