文档章节

Spring+SpringMVC+Mybatis+EasyUI古诗搜索系统(四---java代码)

northsailor
 northsailor
发布于 2016/07/14 17:34
字数 988
阅读 9
收藏 0
点赞 0
评论 0

Poetries.java

package com.jikexueyuan.entity;

import java.io.Serializable;

/**
 * 诗句模型
 * 
 * @author 黄建清
 *
 */
public class Poetries implements Serializable {
	private static final long serialVersionUID = -4657536584850251820L;
	private Integer id;
	private Poets poets;
	private String content;
	private String title;

	public Poetries() {
	}

	public Poetries(Integer id, Poets poets, String content, String title) {
		super();
		this.id = id;
		this.poets = poets;
		this.content = content;
		this.title = title;
	}

	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getContent() {
		return this.content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getTitle() {
		return this.title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public Poets getPoets() {
		return poets;
	}

	public void setPoets(Poets poets) {
		this.poets = poets;
	}

}

Poets.java

package com.jikexueyuan.entity;

import java.io.Serializable;
/**
 * 诗人模型bean
 */
import java.util.List;

public class Poets implements Serializable {
	private static final long serialVersionUID = 2255213471279022629L;
	private Integer id;
	private String name;
	private List<Poetries> poetries;

	public Poets() {
	}

	public Poets(String name) {
		super();
		this.name = name;
	}

	public Poets(Integer id, String name, List<Poetries> poetries) {
		super();
		this.id = id;
		this.name = name;
		this.poetries = poetries;
	}

	public Poets(Integer id) {
		super();
		this.id = id;
	}

	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public List<Poetries> getPoetries() {
		return poetries;
	}

	public void setPoetries(List<Poetries> poetries) {
		this.poetries = poetries;
	}

}

用来分装分页信息的model,pageModel.java

package com.jikexueyuan.entity;

import java.util.List;
/**
 * 页面模型bean
 * @author Administrator
 *
 * @param <T>
 */
public class PageModel<T> {
	private Integer pageNumber; // 当前页数
	private Integer pageSize; // 一页显示数量
	@SuppressWarnings("unused")
	private Integer startRow; // 查询起始行
	private Integer total; // 总记录行数
	@SuppressWarnings("rawtypes")
	private List rows; // 查询结果数据
	private T queryObj; // 查询对象
	
	public PageModel() {
		super();
	}
	
	

	public PageModel(T queryObj) {
		super();
		this.queryObj = queryObj;
	}
	


	public PageModel(Integer pageNumber, Integer pageSize, T queryObj) {
		super();
		this.pageNumber = pageNumber;
		this.pageSize = pageSize;
		this.queryObj = queryObj;
	}



	public PageModel(Integer pageNumber, Integer pageSize, Integer startRow,
			Integer total, @SuppressWarnings("rawtypes") List rows, T queryObj) {
		super();
		this.pageNumber = pageNumber;
		this.pageSize = pageSize;
		this.startRow = startRow;
		this.total = total;
		this.rows = rows;
		this.queryObj = queryObj;
	}



	public PageModel(Integer pageSize, Integer startRow) {
		super();
		this.pageSize = pageSize;
		this.startRow = startRow;
	}
	
	@SuppressWarnings("rawtypes")
	public List getRows() {
		return rows;
	}



	@SuppressWarnings("rawtypes")
	public void setRows(List rows) {
		this.rows = rows;
	}



	public Integer getStartRow() {
		if (pageNumber != null && pageSize != null) {
			return (pageNumber - 1) * pageSize;
		} else {
			return 0;
		}
	}

	public Integer getPageNumber() {
		return pageNumber;
	}

	public void setPageNumber(Integer pageNumber) {
		this.pageNumber = pageNumber;
	}

	public Integer getPageSize() {
		return pageSize;
	}

	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}

	public Integer getTotal() {
		return total;
	}

	public void setTotal(Integer total) {
		this.total = total;
	}


	public void setQueryObj(T queryObj) {
		this.queryObj = queryObj;
	}

	public T getQueryObj() {
		return queryObj;
	}
}

mapper文件

PoetriesMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 关联查询 -->
<mapper namespace="com.jikexueyuan.dao.PoetriesDao">
	<sql id="sql_count">
		SELECT COUNT(*)
	</sql>
	<sql id="sql_select">
		SELECT poetries.*,poets.*
	</sql>
	<sql id="sql_where">
		FROM poets INNER JOIN poetries ON poets.id=poetries.poet_id
		<where>
			<if test="queryObj != null">
				<!-- 如果选择输入名句,则按照名句搜索诗词 -->
				<if test="queryObj.content != null and  queryObj.content != ''">
					AND content like CONCAT ('%',#{queryObj.content},'%')
				</if>
				<!-- 如果选择输入题目,则按照题目搜索诗词 -->
				<if test="queryObj.title != null">
					AND title = #{queryObj.title}
				</if>
			</if>
		</where>
	</sql>
	<select id="selectPoeListWithPage" parameterType="com.jikexueyuan.entity.PageModel"
		resultMap="poetyMap">
		<include refid="sql_select"></include>
		<include refid="sql_where"></include>
		<!-- 分页 -->
		<if test="pageNumber != null and  pageSize!= null">
			limit #{startRow},#{pageSize}
		</if>
	</select>
	<select id="selectPoeCountWithPage" parameterType="com.jikexueyuan.entity.PageModel"
		resultType="java.lang.Integer">
		<include refid="sql_count"></include>
		<include refid="sql_where"></include>
	</select>
	<resultMap type="Map" id="poetyMap">
		<id column="id" property="poetries.id" />
		<result column="title" property="title" />
		<result column="content" property="content" />
		<association property="poets" column="poet_id"
			javaType="com.jikexueyuan.entity.Poets">
			<id property="id" column="poets.id" />
			<result property="name" column="name" />
		</association>
	</resultMap>
</mapper> 

PoetsMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jikexueyuan.dao.PoetsDao">
	<!-- 嵌套查询 ,通过诗人名搜索标题与内容 -->
	<sql id="sql_count">
		SELECT COUNT(*)
	</sql>
	<sql id="sql_select">
		SELECT poetries.*,poets.*
	</sql>
	<sql id="sql_where">
		FROM poets INNER JOIN poetries ON poets.id=poetries.poet_id
		<where>
			<if test="queryObj != null">
				<!-- 如果输入诗人,则按照诗人搜索诗词 -->
				<if test="queryObj.name != null">
					AND name = #{queryObj.name}
				</if>
			</if>
		</where>
	</sql>
	<select id="findByName" parameterType="com.jikexueyuan.entity.PageModel"
		resultMap="poetMap">
		<include refid="sql_select"></include>
		<include refid="sql_where"></include>
		<!-- 分页 -->
		<if test="pageNumber != null and  pageSize!= null">
			limit #{startRow},#{pageSize}
		</if>
	</select>
	<resultMap type="Map" id="poetMap">
		<id column="id" property="poetries.id" />
		<result column="title" property="title" />
		<result column="content" property="content" />
	</resultMap>
	<select id="countWithPage" parameterType="com.jikexueyuan.entity.PageModel"
		resultType="java.lang.Integer">
		<include refid="sql_count"></include>
		<include refid="sql_where"></include>
	</select>
</mapper> 

dao层

PoetriesDao.java

package com.jikexueyuan.dao;

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

import com.jikexueyuan.annotation.MyBatisRepository;
import com.jikexueyuan.entity.PageModel;
import com.jikexueyuan.entity.Poetries;
/**
 * 诗词表的DAO组件
 */
@MyBatisRepository
public interface PoetriesDao {
	@SuppressWarnings("rawtypes")
	public List<Map> selectPoeListWithPage(PageModel<Poetries> pageModel);
	public Integer selectPoeCountWithPage(PageModel<Poetries> pageModel);

}

Poets.java

package com.jikexueyuan.dao;

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

import com.jikexueyuan.annotation.MyBatisRepository;
import com.jikexueyuan.entity.PageModel;
import com.jikexueyuan.entity.Poets;
/**
 * 诗词表的DAO组件
 */
@MyBatisRepository
public interface PoetsDao {
	@SuppressWarnings("rawtypes")
	public List<Map> findByName(PageModel<Poets> pageModel);
	public Integer countWithPage(PageModel<Poets> pageModel);
}

service层

PoetriesServiceImpl.java

package com.jikexueyuan.service.impl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.jikexueyuan.dao.PoetriesDao;
import com.jikexueyuan.entity.PageModel;
import com.jikexueyuan.entity.Poetries;
import com.jikexueyuan.service.PoetriesService;
@Service
public class PoetriesServiceImpl implements PoetriesService {
	@Resource
	private PoetriesDao poetriesDao;

	@Override
	public void listPoeWithPage(PageModel<Poetries> pageModel){
		/*把诗句集合设置给rows*/
		pageModel.setRows(poetriesDao.selectPoeListWithPage(pageModel));
		/*把总数设置给total*/
		pageModel.setTotal(poetriesDao.selectPoeCountWithPage(pageModel));
	}
}

PoetsServiceImpl.java

package com.jikexueyuan.service.impl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.jikexueyuan.dao.PoetsDao;
import com.jikexueyuan.entity.PageModel;
import com.jikexueyuan.entity.Poets;
import com.jikexueyuan.service.PoetsService;
@Service
public class PoetsServiceImpl implements PoetsService {
	@Resource
	private PoetsDao poetsDao;
	@Override
	public void listByName(PageModel<Poets> pageModel) {
		pageModel.setRows(poetsDao.findByName(pageModel));
		pageModel.setTotal(poetsDao.countWithPage(pageModel));
	}

}

 

© 著作权归作者所有

共有 人打赏支持
northsailor
粉丝 1
博文 5
码字总数 3598
作品 0
兰州
程序员
在ubuntu上安装netbeans出问题:“无法初始化 UI 正在 headless 模式下运行"

综合了网上的资料,并进行实际操作,记录如下: 1.安装oracle java jdk(jdk-6u31-linux-i586),并已在profile文件中注明JAVA_HOME的路径。 2.由于ubuntu中可能会有默认的jdk,如openjdk。假...

银河星沙
2012/09/21
0
0
Java基础-环境变量设置及Java命令行使用

一、Java环境变量设置 windows 下配置JDK环境变量: 1. 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:javajdk1.5.008; 2. 安装完成后,右击“我的电脑”,点击“属...

陶邦仁
2012/11/11
0
0
linux配置java环境变量(详细)

一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之...

冰玉翔龙
2013/03/28
0
0
linux配置java环境变量(详细)

一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之...

张志浩
2012/10/08
0
0
[转] Java 启动参数大全

前段时间系统升级时遭遇了OOM,具体解决过程见 遭遇OutOfMemoryError; 为了巩固对于java启动各项参数的认识,决定将所有参数列举出来,并一一解释,以便后查; java启动参数共分为三类; 其一...

dodojava
2011/06/08
0
1
Java中各类ClassLoader加载时资源搜索路径

关于Java如何加载类,可以参考下面这篇文章: http://www.ibm.com/developerworks/cn/java/j-lo-classloader/ 这里我们来了解下,各类ClassLoader是从哪些地方去寻找class类文件进行加载的?...

2k10
2015/03/20
0
0
Java中系统属性Properties介绍 System.getProperty()参数大全

在JDK文档中System类中有这样的方法getProperties()在此方法的详细介绍中有下面的参数可供使用: java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Ja...

星痕2018
2012/05/29
0
0
【转】Java Crash原因汇总

如果是Java进程不知道什么原因退出或被杀死,想要分析具体原因,一般来说分下面几步: 1. 拿到Java应用程序的日志文件 2. 查找JVM的致命错误日志 3. 查找操作系统的core dump文件 4. 使用Dtr...

mj4738
2011/12/04
0
0
JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用

一、安装JDK 选择安装目录 安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录...

Java编程思想
2013/06/26
0
0
【转】 java的System.getProperty()方法可以获取的值

java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 ja...

木子木
2014/03/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

upstream sent too big header while reading...

nginx 报错:1736 upstream sent too big header while reading response header from upstream 1. 一般处理 location ~ \.php$ { #增加下面两句 fastcgi_buffer_size 128k; ......

dubox
10分钟前
0
0
Python解析配置文件模块:ConfigPhaser

import configparser as pa# [SectionA]# a = aa# b = bb# c = cc# [SectionB]# optionint = 1# optionfloat = 1.1# optionstring = string#https://www.cnblogs.com/a......

易野
17分钟前
0
0
Java基础——面向对象

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Object的方法: clone() Object 克隆 to Strin...

凯哥学堂
18分钟前
0
0
rabbitmq学习记录(八)消息发布确认机制

RabbitMQ服务器崩了导致的消息数据丢失,已经持久化的消息数据我们可以通过消息持久化来预防。但是,如果消息从生产者发送到vhosts过程中出现了问题,持久化消息数据的方案就无效了。 Rabbit...

人觉非常君
23分钟前
0
0
毕业5年,我是怎么成为年薪30W的运维工程师

#转载# 我在大学读的是计算机专业,但大学毕业之后,进入到一家私企进行工作,工作的内容类似于网管,会经常的去修电脑,去做水晶头等内容。刚开始工作,也没想太多,最想的是丰富自己的工作...

Py爱好
30分钟前
1
0
大数据基础知识,大数据学习,涉及的知识点

一、什么是大数据 一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流 转、多样的数据类型和价值密度低四大特征。...

董黎明
45分钟前
0
0
Linux CentOS 7上安装极点五笔

话说几天前在新买的惠普笔记本上成功地安装了Linux CentOS 7操作系统、Nvidia Quandro P600驱动程序及X Window,并在VMware下安装Red Hat教学环境,彻底跳出Windows的苦海,但仍然有一件事不...

大别阿郎
58分钟前
16
0
2018年7月20日集群课程

一、集群介绍 集群,简单地说是指一组(若干个)相互独立的计算机,利用高速通信网络组成一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。 ...

人在艹木中
今天
0
0
spark开发机中调试snappy

目的 在Idea中的点击运行,使spark可以直接读取snappy 自己编译hadoop,以支持snappy的压缩。 自己编译的目的就是要得到支持snappy文件读写的动态链接库。如果可以在网上下载,可以跳过自行编...

benny周
今天
0
0
centos7 安装docker

1,查看系统版本 cat /etc/redhat-release 2,安装gcc yum -y install gccyum -y install gcc-c++ 3,卸载旧版本 yum remove docker \ docker-client \ ......

暗中观察
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部