StringMVC注解

本文介绍了一个基于Java的新闻分类管理模块的设计与实现,包括NewsSort类定义、DAO接口及SQL提供者的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.wskj.eshop.news.model;
public class NewsSort {
    private Integer id;
    private String sortName;
    private String sortDesc;
   
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getSortName() {
        return sortName;
    }
    public void setSortName(String sortName) {
        this.sortName = sortName;
    }
    public String getSortDesc() {
        return sortDesc;
    }
    public void setSortDesc(String sortDesc) {
        this.sortDesc = sortDesc;
    }
    @Override
    public String toString() {
        return "NewsSort [id=" + id + ", sortName=" + sortName + ", sortDesc=" + sortDesc + "]";
    }

}

package com.wskj.eshop.news.dao;
import java.util.List;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import com.wskj.eshop.news.model.NewsSort;
public interface NewsSortDaoMapper {
    @Select("select n.id,n.sort_name as sortName,n.sort_desc as sortDesc from news_sort n")
    public List<NewsSort> queryAll();
    @Insert("insert into news_sort(sort_name,sort_desc) values(#{sortName},#{sortDesc})")
    public void addSort(NewsSort sort);
    @SelectProvider(type=NewsSortSqlProvider.class,method="getSql")
    public List<NewsSort> queryBySearchBean(NewsSort sort);
}

package com.wskj.eshop.news.dao;
import org.apache.commons.lang.StringUtils;
import com.wskj.eshop.news.model.NewsSort;
public class NewsSortSqlProvider {
   public String getSql(NewsSort sort){
       StringBuffer sql=new StringBuffer("select n.id,n.sort_name as sortName,n.sort_desc as sortDesc");
       sql.append(" from news_sort n ");
       sql.append(" where 1=1 ");
       //isNotEmpty将空格也作为参数,isNotBlank则排除空格参数
       if(sort!=null && StringUtils.isNotBlank(sort.getSortName())){
           //select * from news_sort n where n.sort_name like '%八卦%'
           sql.append(" and sort_name like '%").append(sort.getSortName()).append("%'");
       }
       if(sort!=null && StringUtils.isNotBlank(sort.getSortDesc())){
           //select * from news_sort n where n.sort_name like '%八卦%'
           sql.append(" and sort_desc like '%").append(sort.getSortDesc()).append("%'");
       }
       return sql.toString();
   }
}

package com.wskj.test;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.wskj.eshop.news.dao.NewsSortDaoMapper;
import com.wskj.eshop.news.model.NewsSort;
public class TestNews {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ApplicationContext  ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
        NewsSortDaoMapper newsSortDaoMapper= ctx.getBean(NewsSortDaoMapper.class);
        NewsSort sort=new NewsSort();
        sort.setSortName("八");
        sort.setSortDesc("八卦1");
        //sort.setSortDesc("游戏相关新闻");
       // newsSortDaoMapper.addSort(sort);
        List<NewsSort> sortList = newsSortDaoMapper.queryBySearchBean(sort);
        for (NewsSort newsSort : sortList) {
            System.out.println(newsSort);
        }
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值