【Mybatis五】Mybatis练习题

练习题

源码下载:mybatis-test(练习题)自解压

题目环境

1,mapper

UserMapper
import com.ccc.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

//用户操作
public interface UserMapper {
    //测试数据库是否链接成功
    List<User> getUser(Map<String,Integer> map) throws Exception;

    //通过userCode获取User
     User getLoginUser(@Param("userCode") String userCode) throws Exception;

    //增加用户信息
     int addUser(User user) throws Exception;
    //通过条件查询-用户记录数
    int getUserCount(@Param("userName") String userName,
                     @Param("userRole") Integer userRole)throws Exception;

    int getUserCount(Map map);
    //通过条件查询userList,limit分页
     List<User> getUserList(@Param("userName") String userName,
                                  @Param("userRole") Integer userRole,
                                  @Param("currentPageNO") Integer currentPageNO,
                                  @Param("pageSize") Integer pageSize)throws Exception;
    List<User> getUserList(Map map);



    //通过userId删除user
     int deleteUserById(@Param("id") Integer id);

    //通过useId获取user
     User getUserById(@Param("id") Integer id);

    //修改用户信息
     int modifyUser(User user);
    
    //修改当前用户密码
     int updatePwd(@Param("id") Integer id, @Param("userPassword") String userPassword);
}


RoleMapper
import com.ccc.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

//角色权限
public interface RoleMapper {
    //获取角色列表
     List<Role> getRoleList();

    //增加角色信息
     int addRole(Role role);

    //通过Id删除Role
     int deleteRoleById(@Param("id") String Id);

    //修改角色信息
     int modifyRole(Role role);

    //通过Id获取role
     Role getRoleById(@Param("id") Integer id);

    //根据roleCode,进行角色编码的唯一性验证(统计count)
     int roleCodeIsExist(@Param("roleCode") String roleCode);

}
ProviderMapper
import com.ccc.pojo.Provider;
import org.apache.ibatis.annotations.Param;

import java.util.List;

//供应商
public interface ProviderMapper {
    //通过供应商名称、编码获取供应商列表-模糊查询-providerList
     List<Provider> getProviderList(@Param("proName") String proName,
                                          @Param("proCode")String proCode);
    //增加供应商
    int addProvider(Provider provider);

    //通过proId删除Provider
     int deleteProviderById( int id);


    //通过proId获取Provider
     Provider getProviderById(int id);

    // 修改供应商信息
     int modifyProvider(Provider provider);

}
BillMapper
import com.ccc.pojo.Bill;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

//订单
public interface BillMapper {
    //根据供应商Id查询订单数量
     int getBillCountByProviderId(@Param("providerId") Integer providerId);

    //增加订单
     int addBill(Bill bill);

    //通过查询条件获取供应商列表-getBillList
     List<Bill> getBillList2(@Param("productName") String productName,
                                  @Param("providerId") String providerId,
                                  @Param("isPayment") String isPayment,
                                  @Param("startIndex") Integer startIndex,
                                  @Param("pageSize") Integer pageSize);
     List<Bill> getBillList(Map map);


    //通过条件查询,查询供货商数量,模糊查询
     int getBillCount(@Param("productName") String productName,
                            @Param("providerId") String providerId,
                            @Param("isPayment") String isPayment);

    //通过delId删除Bill
     int deleteBillById2(@Param("id") Integer id);
     int deleteBillById(Map map);//deleteBillById+deleteBillByProviderId
    //根据供应商Id删除订单信息
    int deleteBillByProviderId(@Param("providerId") Integer providerId);
    //通过billId获取Bill
     Bill getBillById(@Param("id") Integer id);

    //修改订单信息
     int modifyBill(Bill bill);
}

2,实体类pojo

User
package com.ccc.pojo;

import lombok.Data;

import java.util.Date;

@Data
public class User {
    private Integer id; //id
    private String userCode; //用户编码
    private String userName; //用户名称
    private String userPassword; //用户密码
    private Integer gender;  //性别
    private Date birthday;  //出生日期
    private String phone;   //电话
    private String address; //地址
    private Integer userRole;    //用户角色
    private Integer createdBy;   //创建者
    private Date creationDate; //创建时间
    private Integer modifyBy;     //更新者
    private Date modifyDate;   //更新时间
    private Integer age;//年龄
    private String userRoleName;    //用户角色名称
    public Integer getAge() {
      Date date = new Date();
      Integer age = date.getYear()-birthday.getYear();
      return age;
   }
}
Role
package com.ccc.pojo;

import lombok.Data;

import java.util.Date;

@Data
public class Role {
    private Integer id;   //id
    private String roleCode; //角色编码
    private String roleName; //角色名称
    private Integer createdBy; //创建者
    private Date creationDate; //创建时间
    private Integer modifyBy; //更新者
    private Date modifyDate;//更新时间
}
Provider
package com.ccc.pojo;

import lombok.Data;

import java.util.Date;

@Data
public class Provider {
    private Integer id;   //id
    private String proCode; //供应商编码
    private String proName; //供应商名称
    private String proDesc; //供应商描述
    private String proContact; //供应商联系人
    private String proPhone; //供应商电话
    private String proAddress; //供应商地址
    private String proFax; //供应商传真
    private Integer createdBy; //创建者
    private Date creationDate; //创建时间
    private Integer modifyBy; //更新者
    private Date modifyDate;//更新时间
}
Bill
package com.ccc.pojo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class Bill {
    private Integer id;   //id
    private String billCode; //账单编码
    private String productName; //商品名称
    private String productDesc; //商品描述
    private String productUnit; //商品单位
    private BigDecimal productCount; //商品数量
    private BigDecimal totalPrice; //总金额
    private Integer isPayment; //是否支付
    private Integer providerId; //供应商ID
    private Integer createdBy; //创建者
    private Date creationDate; //创建时间
    private Integer modifyBy; //更新者
    private Date modifyDate;//更新时间
    private String providerName;//供应商名称
}

3,MybatisUtil

package com.ccc.utils;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class MybatisUtil {
    private static SqlSessionFactory sqlSessionFactory ;
    static {
        String resource = "mybatis-config.xml";
        InputStream inputStream = null;
        try {
            inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
}

4,配置文件

db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://192.168.0.201/smbms?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8
#url=jdbc:mysql://localhost/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8
username=root
password=123456
mybatis-config.xml
<?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>
    <!--引入外部配置文件-->
    <properties resource="db.properties"/>
    <settings>
        <!--标准的日志工厂实现-->
        <!--        <setting name="logImpl" value="STDOUT_LOGGING"/>-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <!--二级缓存-->
        <setting name="cacheEnabled" value="true"/>
        <!--驼峰命名打开-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <!--类型别名-->
    <typeAliases>
        <package name="com.ccc.pojo" />
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper class="com.ccc.dao.user.UserMapper"/>
        <mapper class="com.ccc.dao.bill.BillMapper"/>
        <mapper class="com.ccc.dao.role.RoleMapper"/>
        <mapper class="com.ccc.dao.provider.ProviderMapper"/>
    </mappers>
</configuration>

做题

User

UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccc.dao.user.UserMapper">
    <!--========================getUser============================-->
    <resultMap id="uMap" type="user">
        <!--获取roleName-->
        <result property="userRoleName" column="roleName"/>
    </resultMap>
    <select id="getUser" parameterType="map" resultMap="uMap">
        select u.*,r.roleName from smbms_user u ,smbms_role r where u.userRole = r.id and u.id = #{id};
    </select>
    <!--========================getLoginUser============================-->
    <select id="getLoginUser" resultMap="uMap" >
        select u.*,r.roleName from smbms_user u ,smbms_role r where u.userRole = r.id and u.userCode = #{userCode};
    </select>
    <!--========================addUser============================-->
    <insert id="addUser" parameterType="map" >
        insert into smbms_user (userCode, userName, userPassword, gender, birthday, phone, address, userRole, createdBy, creationDate)
         VALUES (#{userCode}, #{userName}, #{userPassword}, #{gender}, #{birthday}, #{phone}, #{address}, #{userRole}, #{createdBy}, #{creationDate})
    </insert>
    <!--========================getUserCount============================-->
    <sql id="name-role" >
        <if test="userName != null ">
            and userName like "%"#{userName}"%"
        </if>
        <if test="userRole != null  ">
            and userRole = #{userRole}
        </if>
    </sql>
    <!--========================getUserCount============================-->
    <select id="getUserCount" parameterType="map" resultType="int">
        select count(1) from smbms_user
        <where>
            <include refid="name-role"/>
        </where>
    </select>
    <!--========================getUserList============================-->
    <select id="getUserList" parameterType="map" resultMap="uMap">
        select u.*,r.roleName from smbms_user u ,smbms_role r where u.userRole = r.id
        <include refid="name-role"/>
        <if test="currentPageNO != null and pageSize!=null ">
            limit  #{currentPageNO},#{pageSize}
        </if>
    </select>
    <!--========================deleteUserById============================-->
    <delete id="deleteUserById" parameterType="int">
        delete from smbms_user where id = #{id};
    </delete>
    <!--========================getUserById============================-->
    <select id="getUserById" parameterType="map" resultMap="uMap">
        select u.*,r.roleName from smbms_user u ,smbms_role r where u.userRole = r.id and u.id = #{id};
    </select>
    <!--========================modifyUser============================-->
    <update id="modifyUser" parameterType="user" >
        update smbms_user
        <set>
            <if test="userName != null">
                userName = #{userName}
            </if>
        </set>
        where id = #{id};
    </update>
    <!--========================updatePwd============================-->
    <update id="updatePwd"  >
        update smbms_user
        set userPassword = #{userPassword}
        where id = #{id};
    </update>
</mapper>
UserTest
import com.ccc.dao.user.UserMapper;
import com.ccc.pojo.User;
import com.ccc.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UserTest {
    //String转日期
    DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    //初始化mapper
    SqlSession sqlSession;
    UserMapper mapper;
    public UserTest() {
        sqlSession = MybatisUtil.getSqlSession();
        mapper = sqlSession.getMapper(UserMapper.class);
    }
    @Test
    public void getUser() throws Exception {
        Map<String, Integer> map = new HashMap<>();
        map.put("id",1);
        List<User> list = mapper.getUser(map);
        for (User user : list) {
            System.out.println(user);
        }
    }
    @Test
    public void getLoginUser() throws Exception {
        User user = mapper.getLoginUser("zhangchen");
        System.out.println(user);
    }
    @Test
    public void addUser() throws Exception {
        User user = new User();
//userCode, userName, userPassword, gender, birthday, phone, address, userRole, createdBy, creationDate
        user.setUserCode("zhangsan");
        user.setUserName("张三");
        user.setUserPassword("123456");
        user.setGender(1);
        user.setBirthday(format.parse("1997-01-01"));
        user.setPhone("13555555555");
        user.setAddress("这里这里");
        user.setUserRole(2);
        user.setCreatedBy(1);
        user.setPhone("13555555555");
        user.setCreationDate(new Date());
        mapper.addUser(user);
    }
    @Test
    public void getUserCount(){
        Map map = new HashMap<>();
        map.put("userName","张");
        map.put("userRole",1);
        int count = mapper.getUserCount(map);
        System.out.println(count);
    }
    @Test
    public void getUserList() throws ParseException {
        Map map = new HashMap<>();
        //计算开始下标
//        int pageSize = 5;
//        int currentPageNO = 2;
//        int startIndex = (currentPageNO-1)*pageSize;
//        map.put("userName","张");
//        map.put("userRole",1);
        map.put("currentPageNO",1);
        map.put("pageSize",5);
        List<User> list = mapper.getUserList(map);
        for (User user : list) {
            System.out.println(user);
        }
    }

    @Test
    public void deleteUserById(){
        int i = mapper.deleteUserById(19);
        System.out.println(i);
    }
    @Test
    public void getUserById(){
        User user = mapper.getUserById(1);
        System.out.println(user);
    }
    @Test
    public void modifyUser() throws Exception {
        User user = new User();
        user.setUserName("张三1");
        user.setId(18);
        mapper.modifyUser(user);
    }
    @Test
    public void updatePwd(){
        mapper.updatePwd(18,"321");
    }

}

Role

RoleMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccc.dao.role.RoleMapper">
    <!--========================getRoleList============================-->
    <select id="getRoleList" resultType="role">
        select * from smbms_role
    </select>
    <!--========================addRole============================-->
    <insert id="addRole" parameterType="role">
        insert into smbms_role (roleCode, roleName, createdBy, creationDate)
        values (#{roleCode}, #{roleName}, #{createdBy}, #{creationDate});
    </insert>
    <!--========================deleteRoleById============================-->
    <delete id="deleteRoleById" >
        delete
        from smbms_role
        where id = #{id};
    </delete>
    <!--========================modifyRole============================-->
    <!--修改日期判断-->
    <sql id="modify-date" >
        <choose>
            <when test="modifyDate != null">
                modifyDate = #{modifyDate}
            </when>
            <otherwise>
                modifyDate = now()
            </otherwise>
        </choose>
    </sql>
    <update id="modifyRole" parameterType="role">
        update smbms_role
        <set>
            <if test="roleName !=null ">
                roleName = #{roleName},
            </if>
            <if test="createdBy !=null ">
                createdBy = #{createdBy},
            </if>
            <if test="roleName !=null or createdBy !=null">
                /*没有修改就不需要改修改时间了*/
                <include refid="modify-date"/>
            </if>
        </set>
        where id = #{id};
    </update>
    <!--========================getRoleById============================-->
    <select id="getRoleById" resultType="role">
        select * from smbms_role where id = #{id};
    </select>
    <!--========================roleCodeIsExist============================-->
    <select id="roleCodeIsExist" resultType="int">
        select count(1) from smbms_role where roleCode = #{roleCode}
    </select>
</mapper>
RoleTest
import com.ccc.dao.role.RoleMapper;
import com.ccc.pojo.Role;
import com.ccc.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

public class RoleTest {
    //String转日期
    DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    //初始化mapper
    SqlSession sqlSession;
    RoleMapper mapper;
    public RoleTest() {
        sqlSession = MybatisUtil.getSqlSession();
        mapper = sqlSession.getMapper(RoleMapper.class);
    }

    @Test
    public void getRoleList(){
        List<Role> roleList = mapper.getRoleList();
        for (Role role : roleList) {
            System.out.println(role);
        }
        sqlSession.close();
    }
    @Test
    public void addRole(){
        Role role = new Role();
        role.setRoleCode("SMBMS_PEASON");
        role.setRoleName("打工人");
        role.setCreatedBy(1);
        role.setCreationDate(new Date());
        int i = mapper.addRole(role);
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }
    @Test
    public void deleteRoleById(){
        int i = mapper.deleteRoleById("4");
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }
    @Test
    public void modifyRole() throws ParseException {
        Role role = new Role();
        role.setRoleName("打工仔");
        role.setId(5);
        role.setModifyBy(2);
        role.setModifyDate(format.parse("2022-02-02"));
        int i = mapper.modifyRole(role);
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }
    @Test
    public void getRoleById(){
        System.out.println(mapper.getRoleById(1));
    }
    @Test
    public void roleCodeIsExist(){
        int isExist = mapper.roleCodeIsExist("SMBMS_PEASON");
        System.out.println(isExist);
    }
}

Provider

RoleMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccc.dao.role.RoleMapper">
    <!--========================getRoleList============================-->
    <select id="getRoleList" resultType="role">
        select * from smbms_role
    </select>
    <!--========================addRole============================-->
    <insert id="addRole" parameterType="role">
        insert into smbms_role (roleCode, roleName, createdBy, creationDate)
        values (#{roleCode}, #{roleName}, #{createdBy}, #{creationDate});
    </insert>
    <!--========================deleteRoleById============================-->
    <delete id="deleteRoleById" >
        delete
        from smbms_role
        where id = #{id};
    </delete>
    <!--========================modifyRole============================-->
    <!--修改日期判断-->
    <sql id="modify-date" >
        <choose>
            <when test="modifyDate != null">
                modifyDate = #{modifyDate}
            </when>
            <otherwise>
                modifyDate = now()
            </otherwise>
        </choose>
    </sql>
    <update id="modifyRole" parameterType="role">
        update smbms_role
        <set>
            <if test="roleName !=null ">
                roleName = #{roleName},
            </if>
            <if test="createdBy !=null ">
                createdBy = #{createdBy},
            </if>
            <if test="roleName !=null or createdBy !=null">
                /*没有修改就不需要改修改时间了*/
                <include refid="modify-date"/>
            </if>
        </set>
        where id = #{id};
    </update>
    <!--========================getRoleById============================-->
    <select id="getRoleById" resultType="role">
        select * from smbms_role where id = #{id};
    </select>
    <!--========================roleCodeIsExist============================-->
    <select id="roleCodeIsExist" resultType="int">
        select count(1) from smbms_role where roleCode = #{roleCode}
    </select>
</mapper>
ProvideTest
import com.ccc.dao.provider.ProviderMapper;
import com.ccc.pojo.Provider;
import com.ccc.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class ProvideTest {
    //初始化mapper
    SqlSession sqlSession;
    ProviderMapper mapper;
    public ProvideTest() {
        sqlSession = MybatisUtil.getSqlSession();
        mapper = sqlSession.getMapper(ProviderMapper.class);
    }
    @Test
    public void getProviderList(){
//        List<Provider> providerList = mapper.getProviderList(null, null);
        List<Provider> providerList = mapper.getProviderList("北京", "BJ_GYS001");
        for (Provider provider : providerList) {
            System.out.println(provider);
        }
    }
    @Test
    public void addProvider(){
        //proCode,proName
        Provider provider = new Provider();
        provider.setProCode("GZ-GGGGG");
        provider.setProName("能力有限公司");
        int i = mapper.addProvider(provider);
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }

    @Test
    public void deleteProviderById(){
        int i = mapper.deleteProviderById(15);
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }
    @Test
    public void getProviderById(){
        Provider provider = mapper.getProviderById(1);
        System.out.println(provider);
    }
    @Test
    public void modifyProvider(){
        Provider provider = new Provider();
        provider.setProCode("GZ-1111");
        provider.setProName("能力有限公司123");
        provider.setId(16);
        int i = mapper.modifyProvider(provider);
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }
}

Bill

BillMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccc.dao.bill.BillMapper">
    <!--========================getBillCountByProviderId============================-->
    <select id="getBillCountByProviderId" resultType="int">
        select count(1) from smbms_bill
        <where>
            <if test="providerId != null">
               providerId = #{providerId}
            </if>
        </where>
    </select>
    <!--========================addBill============================-->
    <insert id="addBill" parameterType="bill" >
        insert into smbms_bill (billCode, productName, creationDate, providerId)
        values (#{billCode}, #{productName}, now(), #{providerId});
    </insert>
    <!--========================getBillList============================-->
    <sql id="nameIdIsPay">
        <if test="productName != null ">
            productName like "%"#{productName}"%"
        </if>
        <if test="providerId != null ">
            and providerId = #{providerId}
        </if>
        <if test="isPayment != null ">
            and  isPayment = #{isPayment}
        </if>
    </sql>
    <!--========================getBillList============================-->
    <select id="getBillList" resultType="bill" parameterType="map">
        select b.*,sp.proName as providerName
        from smbms_bill b join smbms_provider sp on b.providerId = sp.id
        <where>
            <include refid="nameIdIsPay"/>
            <if test="startIndex != null and pageSize != null">
                limit #{startIndex},#{pageSize}
            </if>
        </where>
    </select>
    <!--========================getBillCount============================-->
    <select id="getBillCount" resultType="int">
        select count(1) from smbms_bill
        <where>
            <include refid="nameIdIsPay"/>
        </where>
    </select>
    <!--========================deleteBillById+deleteBillByProviderId============================-->
    <delete id="deleteBillById" >
        delete from smbms_bill
        <where>
            <choose>
                <when test="id != null">
                    id = #{id}
                </when>
                <when test="providerId != null">
                    providerId = #{providerId}
                </when>
            </choose>
        </where>
    </delete>
    <!--========================getBillById============================-->
    <select id="getBillById" resultType="bill">
        select b.*,sp.proName as providerName
        from smbms_bill b join smbms_provider sp on b.providerId = sp.id where b.id = #{id}
    </select>
    <!--========================modifyBill============================-->
    <update id="modifyBill" parameterType="bill">
        update smbms_bill
        <set>
            <if test="billCode != null">
                billCode = #{billCode},
            </if>
            <if test="productName != null">
                productName = #{productName},
            </if>
            modifyDate = now()
        </set>
        where id = #{id};
    </update>
</mapper>
BillTest
import com.ccc.dao.bill.BillMapper;
import com.ccc.pojo.Bill;
import com.ccc.utils.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.HashMap;
import java.util.List;

public class BillTest {
    //初始化mapper
    SqlSession sqlSession;
    BillMapper mapper;
    public BillTest() {
        sqlSession = MybatisUtil.getSqlSession();
        mapper = sqlSession.getMapper(BillMapper.class);
    }
    @Test
    public void getBillCountByProviderId(){
        System.out.println(mapper.getBillCountByProviderId(1));
        sqlSession.close();
    }
    @Test
    public void addBill(){
        //billCode, productName, providerId
        Bill bill = new Bill();
        bill.setBillCode("BILL2022_018");
        bill.setProductName("小蓝片");
        bill.setProviderId(1);
        int i = mapper.addBill(bill);
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }
    @Test
    public void getBillList(){
        HashMap<Object, Object> map = new HashMap<>();
        map.put("productName","洗");
//        map.put("providerId",1);
        map.put("isPayment",2);
        map.put("startIndex",0);
        map.put("pageSize",5);
        List<Bill> billList = mapper.getBillList(map);
        for (Bill bill : billList) {
            System.out.println(bill);
        }
        sqlSession.close();
    }
    @Test
    public void getBillCount(){
//        int billCount = mapper.getBillCount(null, null, null);
        int billCount = mapper.getBillCount("洗", null, null);
        System.out.println(billCount);
        sqlSession.close();
    }
    @Test
    public void deleteBillById(){
        HashMap<Object, Object> map = new HashMap<>();
        map.put("id",21);
        int i = mapper.deleteBillById(map);
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }
    @Test
    public void deleteBillByProviderId(){
        HashMap<Object, Object> map = new HashMap<>();
        map.put("providerId",15);
        int i = mapper.deleteBillById(map);
        if (i >= 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }
    @Test
    public void getBillById(){
        Bill bill = mapper.getBillById(1);
        System.out.println(bill);
        sqlSession.close();
    }
    @Test
    public void modifyBill(){
        Bill bill = new Bill();
        bill.setBillCode("BILL2022_022");
        bill.setProductName("小红片");
        bill.setId(22);
        int i = mapper.modifyBill(bill);
        if (i == 1) {
            sqlSession.commit();
        }
        sqlSession.close();
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值