mybatis初步
1.目的
- 掌握maven的使用
- 掌握mybatis的配置
- 掌握基于mybatis的增删改查
2.实验步骤
2.1项目创建
- 基于动态的web,需要自己导入对应的jar
- 采用eclipse的maven,比较费事,没有代码提示
- 采用idea的maven,快速方便
2.2依赖
1.采用pom的形式
<dependencies>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<!--log4j-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<!-- 简化属性开发-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
2.采用手动导入jar的形式
2.3项目目录
2.4项目代码
详细代码私聊博主,目前只列出关键的代码。
1.BillMapper的相关代码
接口
public interface BillMapper {
//查询指定条件的订单的信息
public List<Bill> getBillList(Bill bill);
}
xml
<?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="cn.smbms.dao.bill.BillMapper">
<!-- 设计数据的返回类型-->
<resultMap id="billList" type="cn.smbms.pojo.Bill">
<result property="id" column="id"/>
<result property="billCode" column="billCode"/>
<result property="productName" column="productName"/>
<result property="providerName" column="providerName"/>
<result property="isPayment" column="isPayment"/>
<result property="creationDate" column="creationDate"/>
</resultMap>
<!-- 查询所有的订单列表-->
<!-- 需要进行连表查询,添加了关于模糊查询productDesc的结果-->
<select id="getBillList" resultMap="billList">
select b.*,
p.proName
from smbms_bill b
join smbms_provider p on b.providerId = p.id
where
b.providerId = #{providerId}
and b.isPayment = #{isPayment}
<if test="productName!=null">
and b.productName like concat('%', #{productName}, '%')
</if>
<if test="productDesc!=null">
and b.productDesc like concat('%', #{productDesc}, '%')
</if>
</select>
</mapper>
2.ProviderMapper的相关代码
public interface ProviderMapper {
/**
* 查询供应商表记录数
*
* @return
*/
int count();
/**
* 查询供应商列表
*
* @return
*/
List<Provider> getProviderList();
/**
* 根据供应商名称查询供应商列表(模糊查询)
*
* @param proName
* @return
*/
List<Provider> getProviderListByProName(String proName);
/*
* 添加供应商的信息
* */
int add(Provider provider);
/*
* 根据供应的编号删除指定的供应商的信息
* */
int deleteProviderById(int id);
/*
* 修改供应商的信息
* */
int modify(Provider provider);
}
3.mybatis配置文件配置信息
如果运行的时候找不到对应的xml可以私聊我。为了保险起见最好是将xml放到resources目录下,不要和Java代码放在一起
<!-- 将mapper文件加入到配置文件中 -->
<mappers>
<!-- 在此处添加新的mapper映射文件 -->
<mapper resource="cn/smbms/dao/bill/BillMapper.xml"/>
<mapper resource="cn/smbms/dao/provider/ProviderMapper.xml"/>
</mappers>
2.5效果图
获取count