Mybatis 开发dao层

本文介绍如何使用MyBatis进行数据库配置,并利用动态SQL提高查询灵活性。具体包括jdbc.properties文件配置、SqlMapConfig.xml整合及CateMapper.xml中的动态SQL应用。
摘要由CSDN通过智能技术生成

1.开发的时候,一般会将jdbc连接的属性写入到jdbc.properties文件中。配置信息如下:

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/shop

jdbc.username=root

jdbc.password=123

2.将该配置文件的内容导入到SqlMapConfig.xmlMybatis的基础信息配置)中。

<?xml version="1.0"encoding="UTF-8" ?>

<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD Config3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <propertiesresource="jdbc.properties"><!—jdbc的配置信息写入到该文件中à

    </properties>

         <environmentsdefault="development">

                   <environmentid="development">

                            <transactionManagertype="JDBC" />

                  

                            <dataSourcetype="POOLED">

                                     <propertyname="driver" value="${jdbc.driverClassName}" />

                                     <propertyname="url" value="${jdbc.url}" />

                                     <propertyname="username" value="${jdbc.username}" />

                                     <propertyname="password" value="${jdbc.password}" />

                            </dataSource>

                   </environment>

         </environments>

         <mappers>

                   <mapperresource="com/gxa/bj/model/CateMapper.xml" />

         </mappers>

</configuration>

3.通过Mapper映射的方式去实现sql操作。

1)在dao层首先是定义了一个接口,比如这里的接口名字CateMapper:

public interface CateMapper {

   public List<Cate> selectAllCate();

}

2)在dao层配置CateMapper.xml文件。


3)操作的时候,实际是通过生成动态代理对象。

CateMapper cateMapper =sqlSession.getMapper(CateMapper.class);//实际就是生成了动态代理的对象

             List<Cate> listCate =   cateMapper.selectAllCate();

 

 

 

3.动态SQL语句的操作,是根据传入的参数不一样,所生成的sql语句也不相同。在生成的时候,一定要写清楚它的判定规则:比如:

<select id="selectCateByParam"resultType="com.gxa.bj.model.Cate"

     parameterType="com.gxa.bj.model.Cate">

      Select * From cate where 1=1

       <iftest="id>0">

          And id=#{id}

       </if>

       <if test="name!=null">

          And name like '%${name}%'

       </if>

       <iftest="description!=null">

          And description like '%${description}%'

       </if>

</select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值