dao层修改 单元测试

This commit is contained in:
禾几海
2020-05-25 00:20:36 +08:00
parent 86b6bae6e6
commit 190e1624ca
4 changed files with 152 additions and 35 deletions

View File

@@ -19,6 +19,12 @@ public class PartnerSite {
private Boolean open; private Boolean open;
private String iconPath;
private String desc;
private boolean delete;
public PartnerSite() { public PartnerSite() {
} }

View File

@@ -2,69 +2,71 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.celess.blog.mapper.PartnerMapper"> <mapper namespace="cn.celess.blog.mapper.PartnerMapper">
<resultMap id="partnerSiteResultMap" type="cn.celess.blog.entity.PartnerSite"> <resultMap id="partnerSiteResultMap" type="cn.celess.blog.entity.PartnerSite">
<id column="site_id" property="id"/> <id column="l_id" property="id"/>
<result column="site_name" property="name"/> <result column="l_name" property="name"/>
<result column="site_url" property="url"/> <result column="l_url" property="url"/>
<result column="is_open" property="open"/> <result column="l_is_open" property="open"/>
<result column="l_icon_path" property="iconPath"/>
<result column="l_desc" property="desc"/>
<result column="is_delete" property="delete"/>
</resultMap> </resultMap>
<insert id="insert" parameterType="cn.celess.blog.entity.PartnerSite"> <insert id="insert" parameterType="cn.celess.blog.entity.PartnerSite" useGeneratedKeys="true" keyProperty="id">
insert into links (site_name, is_open, site_url) insert into links (l_name, l_is_open, l_url, l_icon_path, l_desc, is_delete)
values (#{name}, #{open}, #{url}) values (#{name}, #{open}, #{url}, #{iconPath}, #{desc}, false)
<selectKey resultType="java.lang.Long" keyProperty="id">
SELECT LAST_INSERT_ID() AS id
</selectKey>
</insert> </insert>
<update id="update" parameterType="cn.celess.blog.entity.PartnerSite"> <update id="update" parameterType="cn.celess.blog.entity.PartnerSite">
update links set update links set
<if test="name!=null">site_name=#{name},</if> <if test="name!=null">l_name=#{name},</if>
<if test="url!=null">site_url=#{url},</if> <if test="url!=null">l_url=#{url},</if>
<if test="open!=null">is_open=#{open}</if> <if test="open!=null">l_is_open=#{open},</if>
where site_id=#{id} <if test="iconPath!=null">l_icon_path=#{iconPath},</if>
<if test="desc!=null">l_desc=#{desc}</if>
where l_id=#{id}
</update> </update>
<delete id="delete"> <update id="delete">
delete update links
from links set is_delete = true
where site_id = #{id} where l_id = #{id}
</delete> </update>
<select id="existsById" resultType="boolean"> <select id="existsById" resultType="boolean">
SELECT EXISTS(SELECT * FROM links WHERE site_id = #{id}) SELECT EXISTS(SELECT * FROM links WHERE l_id = #{id})
</select> </select>
<select id="existsByName" resultType="boolean"> <select id="existsByName" resultType="boolean">
SELECT EXISTS(SELECT * FROM links WHERE site_name = #{name}) SELECT EXISTS(SELECT * FROM links WHERE l_name = #{name})
</select> </select>
<select id="existsByUrl" resultType="boolean"> <select id="existsByUrl" resultType="boolean">
SELECT EXISTS(SELECT * FROM links WHERE site_url = #{url}) SELECT EXISTS(SELECT * FROM links WHERE l_url = #{url})
</select> </select>
<select id="findById" resultMap="partnerSiteResultMap"> <select id="findById" resultMap="partnerSiteResultMap">
select * select *
from links from links
where site_id = #{id} where l_id = #{id}
</select> </select>
<select id="findByName" resultMap="partnerSiteResultMap"> <select id="findByName" resultMap="partnerSiteResultMap">
select * select *
from links from links
where site_name = #{name} where l_name = #{name}
</select> </select>
<select id="findByUrl" resultMap="partnerSiteResultMap"> <select id="findByUrl" resultMap="partnerSiteResultMap">
select * select *
from links from links
where site_url = #{url} where l_url = #{url}
</select> </select>
<select id="getLastest" resultMap="partnerSiteResultMap"> <select id="getLastest" resultMap="partnerSiteResultMap">
select * select *
from links from links
order by site_id desc order by l_id desc
limit 1 limit 1
</select> </select>
<select id="findAll" resultMap="partnerSiteResultMap"> <select id="findAll" resultMap="partnerSiteResultMap">

View File

@@ -6,23 +6,29 @@
<result column="v_date" property="date"/> <result column="v_date" property="date"/>
<result column="v_user_agent" property="ua"/> <result column="v_user_agent" property="ua"/>
<result column="v_ip" property="ip"/> <result column="v_ip" property="ip"/>
<result column="is_delete" property="delete"/>
</resultMap> </resultMap>
<insert id="insert"> <insert id="insert" useGeneratedKeys="true" keyProperty="id">
insert into visitor (v_date, v_ip, v_user_agent) insert into visitor (v_date, v_ip, v_user_agent)
values (#{date}, #{ip}, #{ua}) values (#{date}, #{ip}, #{ua})
<selectKey resultType="java.lang.Long" keyProperty="id">
SELECT LAST_INSERT_ID() AS id
</selectKey>
</insert> </insert>
<delete id="delete"> <update id="delete">
delete update visitor
from visitor set is_delete = true
where v_id = #{id} where v_id = #{id}
</delete> </update>
<select id="findAll" resultMap="partnerSiteResultMap"> <select id="findAll" resultMap="partnerSiteResultMap">
select * select *
from visitor order by v_id desc from visitor
order by v_id desc
</select>
<select id="findAllNotDeleted" resultMap="partnerSiteResultMap">
select *
from visitor
where is_delete = false
order by v_id desc
</select> </select>
<select id="count" resultType="java.lang.Long"> <select id="count" resultType="java.lang.Long">
select count(*) select count(*)

View File

@@ -0,0 +1,103 @@
package cn.celess.blog.mapper;
import cn.celess.blog.BaseTest;
import cn.celess.blog.entity.PartnerSite;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import static org.junit.Assert.*;
public class PartnerMapperTest extends BaseTest {
@Autowired
PartnerMapper partnerMapper;
@Test
public void insert() {
PartnerSite partnerSite = generatePartnerSite();
assertNotNull(partnerSite.getId());
}
@Test
public void delete() {
PartnerSite partnerSite = generatePartnerSite();
assertEquals(1, partnerMapper.delete(partnerSite.getId()));
partnerSite = partnerMapper.findById(partnerSite.getId());
assertTrue(partnerSite.isDelete());
}
@Test
public void update() {
PartnerSite partnerSite = generatePartnerSite();
partnerSite.setName(randomStr(5));
partnerSite.setIconPath(randomStr(5));
partnerSite.setDesc(randomStr(5));
partnerSite.setOpen(false);
partnerSite.setUrl("www.celess.cn?random=" + randomStr(4));
assertEquals(1, partnerMapper.update(partnerSite));
}
@Test
public void existsById() {
PartnerSite partnerSite = generatePartnerSite();
assertTrue(partnerMapper.existsById(partnerSite.getId()));
}
@Test
public void existsByName() {
PartnerSite partnerSite = generatePartnerSite();
assertTrue(partnerMapper.existsByName(partnerSite.getName()));
}
@Test
public void existsByUrl() {
PartnerSite partnerSite = generatePartnerSite();
assertTrue(partnerMapper.existsByUrl(partnerSite.getUrl()));
}
@Test
public void findById() {
PartnerSite partnerSite = generatePartnerSite();
assertNotNull(partnerMapper.findById(partnerSite.getId()));
}
@Test
public void findByName() {
PartnerSite partnerSite = generatePartnerSite();
assertNotNull(partnerMapper.findByName(partnerSite.getName()));
}
@Test
public void findByUrl() {
PartnerSite partnerSite = generatePartnerSite();
assertNotNull(partnerMapper.findByUrl(partnerSite.getUrl()));
}
@Test
public void getLastest() {
PartnerSite partnerSite = generatePartnerSite();
List<PartnerSite> all = partnerMapper.findAll();
all.sort(((o1, o2) -> (int) (o2.getId() - o1.getId())));
assertEquals(partnerSite.getId(), all.get(0).getId());
assertEquals(partnerSite.getId(), partnerMapper.getLastest().getId());
}
@Test
public void findAll() {
List<PartnerSite> all = partnerMapper.findAll();
assertNotEquals(0, all.size());
}
private PartnerSite generatePartnerSite() {
PartnerSite ps = new PartnerSite();
ps.setName(randomStr(4));
ps.setUrl("https://www.celess.cn?random=" + randomStr(4));
ps.setOpen(true);
ps.setDesc("小海的博客呀!");
ps.setIconPath("https://www.celess.cn/icon_path.example");
partnerMapper.insert(ps);
return ps;
}
}