调整数据库字段,优化部分接口 #1
@@ -19,6 +19,12 @@ public class PartnerSite {
|
||||
|
||||
private Boolean open;
|
||||
|
||||
private String iconPath;
|
||||
|
||||
private String desc;
|
||||
|
||||
private boolean delete;
|
||||
|
||||
public PartnerSite() {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,69 +2,71 @@
|
||||
<!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">
|
||||
<resultMap id="partnerSiteResultMap" type="cn.celess.blog.entity.PartnerSite">
|
||||
<id column="site_id" property="id"/>
|
||||
<result column="site_name" property="name"/>
|
||||
<result column="site_url" property="url"/>
|
||||
<result column="is_open" property="open"/>
|
||||
<id column="l_id" property="id"/>
|
||||
<result column="l_name" property="name"/>
|
||||
<result column="l_url" property="url"/>
|
||||
<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>
|
||||
|
||||
<insert id="insert" parameterType="cn.celess.blog.entity.PartnerSite">
|
||||
insert into links (site_name, is_open, site_url)
|
||||
values (#{name}, #{open}, #{url})
|
||||
<selectKey resultType="java.lang.Long" keyProperty="id">
|
||||
SELECT LAST_INSERT_ID() AS id
|
||||
</selectKey>
|
||||
<insert id="insert" parameterType="cn.celess.blog.entity.PartnerSite" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into links (l_name, l_is_open, l_url, l_icon_path, l_desc, is_delete)
|
||||
values (#{name}, #{open}, #{url}, #{iconPath}, #{desc}, false)
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="cn.celess.blog.entity.PartnerSite">
|
||||
update links set
|
||||
<if test="name!=null">site_name=#{name},</if>
|
||||
<if test="url!=null">site_url=#{url},</if>
|
||||
<if test="open!=null">is_open=#{open}</if>
|
||||
where site_id=#{id}
|
||||
<if test="name!=null">l_name=#{name},</if>
|
||||
<if test="url!=null">l_url=#{url},</if>
|
||||
<if test="open!=null">l_is_open=#{open},</if>
|
||||
<if test="iconPath!=null">l_icon_path=#{iconPath},</if>
|
||||
<if test="desc!=null">l_desc=#{desc}</if>
|
||||
where l_id=#{id}
|
||||
</update>
|
||||
|
||||
<delete id="delete">
|
||||
delete
|
||||
from links
|
||||
where site_id = #{id}
|
||||
</delete>
|
||||
<update id="delete">
|
||||
update links
|
||||
set is_delete = true
|
||||
where l_id = #{id}
|
||||
</update>
|
||||
|
||||
<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 id="existsByName" resultType="boolean">
|
||||
SELECT EXISTS(SELECT * FROM links WHERE site_name = #{name})
|
||||
SELECT EXISTS(SELECT * FROM links WHERE l_name = #{name})
|
||||
|
||||
</select>
|
||||
|
||||
<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 id="findById" resultMap="partnerSiteResultMap">
|
||||
select *
|
||||
from links
|
||||
where site_id = #{id}
|
||||
where l_id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="findByName" resultMap="partnerSiteResultMap">
|
||||
select *
|
||||
from links
|
||||
where site_name = #{name}
|
||||
where l_name = #{name}
|
||||
</select>
|
||||
|
||||
<select id="findByUrl" resultMap="partnerSiteResultMap">
|
||||
select *
|
||||
from links
|
||||
where site_url = #{url}
|
||||
where l_url = #{url}
|
||||
</select>
|
||||
<select id="getLastest" resultMap="partnerSiteResultMap">
|
||||
select *
|
||||
from links
|
||||
order by site_id desc
|
||||
order by l_id desc
|
||||
limit 1
|
||||
</select>
|
||||
<select id="findAll" resultMap="partnerSiteResultMap">
|
||||
|
||||
@@ -6,23 +6,29 @@
|
||||
<result column="v_date" property="date"/>
|
||||
<result column="v_user_agent" property="ua"/>
|
||||
<result column="v_ip" property="ip"/>
|
||||
<result column="is_delete" property="delete"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="insert">
|
||||
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into visitor (v_date, v_ip, v_user_agent)
|
||||
values (#{date}, #{ip}, #{ua})
|
||||
<selectKey resultType="java.lang.Long" keyProperty="id">
|
||||
SELECT LAST_INSERT_ID() AS id
|
||||
</selectKey>
|
||||
</insert>
|
||||
<delete id="delete">
|
||||
delete
|
||||
from visitor
|
||||
<update id="delete">
|
||||
update visitor
|
||||
set is_delete = true
|
||||
where v_id = #{id}
|
||||
</delete>
|
||||
</update>
|
||||
<select id="findAll" resultMap="partnerSiteResultMap">
|
||||
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 id="count" resultType="java.lang.Long">
|
||||
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