调整数据库字段,优化部分接口 #1
@@ -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() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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(*)
|
||||||
|
|||||||
103
src/test/java/cn/celess/blog/mapper/PartnerMapperTest.java
Normal file
103
src/test/java/cn/celess/blog/mapper/PartnerMapperTest.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user