基于javaweb+mysql的springboot+mybatis新闻管理系统(java+html+springboot+javabean+mysql+tomcat)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
用户:登录、注册、新闻增删改
技术框架
HTML CSS JavaScript jQuery Bootstrap thymeleaf SpringBoot SpringMVC MyBatis
基于javaweb+mysql的SpringBoot+MyBatis新闻管理系统(java+html+springboot+javabean+mysql+tomcat)
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andEmailIsNull() {
org.springframework.context.ApplicationContext ac = SpringApplication.run(StartApplication.class, args);
String port = ac.getEnvironment().getProperty("server.port");
String url = "http://localhost:" + (port == null ? 8080 : port) + "";
System.out.println("启动后访问主页:" + url);
try {
System.setProperty("java.awt.headless", "false");
java.awt.Desktop.getDesktop().browse(new java.net.URI(url));//自动打开浏览器
} catch (Exception e) {
System.out.println("自动打开浏览器失败");
}
}
}
package com.demo.config;
@Configuration
@EnableWebMvc
public class UploadConfig implements WebMvcConfigurer {
private String uploadPath=System.getProperty("user.dir")+"/src/main/resources/static/upload/";
//配置本地文件映射到url上
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//重写方法
//修改tomcat 虚拟映射
registry.addResourceHandler("/upload/**").addResourceLocations("file:" + uploadPath);//定义图片存放路径
System.out.println(uploadPath);
}
}
package com.demo.config;
@Configuration
public class FileUploadConfig {
// 注入bean,手动配置临时目录,建议有项目组统一配置,便于管理和错误定位。
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
public Criteria andPasswordBetween(String value1, String value2) {
addCriterion("password between", value1, value2, "password");
return (Criteria) this;
}
public Criteria andPasswordNotBetween(String value1, String value2) {
addCriterion("password not between", value1, value2, "password");
return (Criteria) this;
}
public Criteria andAgeIsNull() {
addCriterion("age is null");
return (Criteria) this;
}
public Criteria andAgeIsNotNull() {
addCriterion("age is not null");
return (Criteria) this;
}
public Criteria andAgeEqualTo(Integer value) {
addCriterion("age =", value, "age");
return (Criteria) this;
}
public Criteria andAgeNotEqualTo(Integer value) {
addCriterion("age <>", value, "age");
return (Criteria) this;
}
public Criteria andAgeGreaterThan(Integer value) {
addCriterion("age >", value, "age");
return (Criteria) this;
}
public Criteria andAgeGreaterThanOrEqualTo(Integer value) {
addCriterion("age >=", value, "age");
return (Criteria) this;
}
public Criteria andAgeLessThan(Integer value) {
addCriterion("age <", value, "age");
return (Criteria) this;
}
public Criteria andAgeLessThanOrEqualTo(Integer value) {
addCriterion("age <=", value, "age");
return (Criteria) this;
}
public Criteria andAgeIn(List<Integer> values) {
addCriterion("age in", values, "age");
return (Criteria) this;
}
values (#{id,jdbcType=INTEGER}, #{email,jdbcType=VARCHAR}, #{username,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER}, #{sex,jdbcType=VARCHAR},
#{introduction,jdbcType=LONGVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.demo.pojo.User" >
insert into users
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="email != null" >
email,
</if>
<if test="username != null" >
username,
</if>
<if test="password != null" >
password,
</if>
<if test="age != null" >
age,
</if>
<if test="sex != null" >
sex,
</if>
<if test="introduction != null" >
introduction,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=INTEGER},
</if>
<if test="email != null" >
#{email,jdbcType=VARCHAR},
</if>
<if test="username != null" >
#{username,jdbcType=VARCHAR},
</if>
<if test="password != null" >
#{password,jdbcType=VARCHAR},
</if>
<if test="age != null" >
</where>
</sql>
<sql id="Base_Column_List" >
newsid, title, url, time
</sql>
<sql id="Blob_Column_List" >
info
</sql>
<select id="selectByExampleWithBLOBs" resultMap="ResultMapWithBLOBs" parameterType="com.demo.pojo.NewsExample" >
select
<if test="distinct" >
distinct
</if>
'false' as QUERYID,
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from news
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.demo.pojo.NewsExample" >
select
<if test="distinct" >
distinct
</if>
'false' as QUERYID,
<include refid="Base_Column_List" />
from news
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="ResultMapWithBLOBs" parameterType="java.lang.Integer" >
select
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>登录</title>
<link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">欢迎登录</a>
</div>
<div>
<p class="navbar-text"> 请填写相关信息</p>
</div>
</div>
</nav>
<div class="container">
<div class="row">
<h2 class="text-center">新闻管理系统</h2>
</div>
<div class="row" style="margin-top: 30px">
<div class="col-md-5 col-md-offset-3">
<form action="/login">
<div class="form-group">
<label for="exampleInputEmail1">用户名</label>
<input type="text" class="form-control" name="username" id="exampleInputEmail1" placeholder="请输入用户名" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1">用户密码</label>
<input type="password" class="form-control" name="password" id="exampleInputPassword1" placeholder="Password">
</div>
<div class="checkbox">
<label>
<!--<input type="checkbox"> Check me out-->
</label>
</div>
<button type="submit" class="btn btn-success">立即登录</button>
<a th:href="@{/toRegister}"><button type="button" class="btn btn-primary">去注册</button></a>
</form>
</div>
</div>
</div>
#{newsid,jdbcType=INTEGER},
</if>
<if test="title != null" >
#{title,jdbcType=VARCHAR},
</if>
<if test="url != null" >
#{url,jdbcType=VARCHAR},
</if>
<if test="time != null" >
#{time,jdbcType=TIMESTAMP},
</if>
<if test="info != null" >
#{info,jdbcType=LONGVARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.demo.pojo.News" >
update news
<set >
<if test="title != null" >
title = #{title,jdbcType=VARCHAR},
</if>
<if test="url != null" >
url = #{url,jdbcType=VARCHAR},
</if>
<if test="time != null" >
time = #{time,jdbcType=TIMESTAMP},
</if>
<if test="info != null" >
info = #{info,jdbcType=LONGVARCHAR},
</if>
</set>
where newsid = #{newsid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.demo.pojo.News" >
update news
set title = #{title,jdbcType=VARCHAR},
url = #{url,jdbcType=VARCHAR},
time = #{time,jdbcType=TIMESTAMP},
info = #{info,jdbcType=LONGVARCHAR}
where newsid = #{newsid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.demo.pojo.News" >
update news
set title = #{title,jdbcType=VARCHAR},
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andNewsidIsNull() {
addCriterion("newsid is null");
return (Criteria) this;
}
public Criteria andNewsidIsNotNull() {
addCriterion("newsid is not null");
return (Criteria) this;
}
public Criteria andNewsidEqualTo(Integer value) {
addCriterion("newsid =", value, "newsid");
return (Criteria) this;
}
}
public Criteria andUrlIsNotNull() {
addCriterion("url is not null");
return (Criteria) this;
}
public Criteria andUrlEqualTo(String value) {
addCriterion("url =", value, "url");
return (Criteria) this;
}
public Criteria andUrlNotEqualTo(String value) {
addCriterion("url <>", value, "url");
return (Criteria) this;
}
public Criteria andUrlGreaterThan(String value) {
addCriterion("url >", value, "url");
return (Criteria) this;
}
public Criteria andUrlGreaterThanOrEqualTo(String value) {
addCriterion("url >=", value, "url");
return (Criteria) this;
}
public Criteria andUrlLessThan(String value) {
addCriterion("url <", value, "url");
return (Criteria) this;
}
public Criteria andUrlLessThanOrEqualTo(String value) {
addCriterion("url <=", value, "url");
return (Criteria) this;
}
public Criteria andUrlLike(String value) {
addCriterion("url like", value, "url");
return (Criteria) this;
}
public Criteria andUrlNotLike(String value) {
addCriterion("url not like", value, "url");
return (Criteria) this;
}
public Criteria andUrlIn(List<String> values) {
}
public Criteria andSexBetween(String value1, String value2) {
addCriterion("sex between", value1, value2, "sex");
return (Criteria) this;
}
public Criteria andSexNotBetween(String value1, String value2) {
addCriterion("sex not between", value1, value2, "sex");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
<input type="radio" name="sex" id="optionsRadios4" value="女"> 女
</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">年龄:</label>
<div class="col-sm-10 usually">
<input type="number" class="form-control" name="age" placeholder="请输入年龄" min="18" max="60" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">自我介绍:</label>
<div class="col-sm-10 usually">
<textarea class="form-control " name="introduction" rows="5" cols="8" required></textarea>
<div/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<!--<input type="checkbox"> Remember me-->
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success">立即注册</button>
<a href="/toLogin">
<button type="button" class="btn btn-primary">去登录</button>
</a>
</div>
</div>
</form>
</div>
</div>
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andNewsidIsNull() {
addCriterion("newsid is null");
return (Criteria) this;
}
public Criteria andNewsidIsNotNull() {
addCriterion("newsid is not null");
return (Criteria) this;
}
public Criteria andNewsidEqualTo(Integer value) {
addCriterion("newsid =", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidNotEqualTo(Integer value) {
addCriterion("newsid <>", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidGreaterThan(Integer value) {
addCriterion("newsid >", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidGreaterThanOrEqualTo(Integer value) {
addCriterion("newsid >=", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidLessThan(Integer value) {
addCriterion("newsid <", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidLessThanOrEqualTo(Integer value) {
addCriterion("newsid <=", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidIn(List<Integer> values) {
addCriterion("newsid in", values, "newsid");
return (Criteria) this;
addCriterion("newsid >=", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidLessThan(Integer value) {
addCriterion("newsid <", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidLessThanOrEqualTo(Integer value) {
addCriterion("newsid <=", value, "newsid");
return (Criteria) this;
}
public Criteria andNewsidIn(List<Integer> values) {
addCriterion("newsid in", values, "newsid");
return (Criteria) this;
}
public Criteria andNewsidNotIn(List<Integer> values) {
addCriterion("newsid not in", values, "newsid");
return (Criteria) this;
}
public Criteria andNewsidBetween(Integer value1, Integer value2) {
addCriterion("newsid between", value1, value2, "newsid");
return (Criteria) this;
}
public Criteria andNewsidNotBetween(Integer value1, Integer value2) {
addCriterion("newsid not between", value1, value2, "newsid");
return (Criteria) this;
}
public Criteria andTitleIsNull() {
addCriterion("title is null");
return (Criteria) this;
}
public Criteria andTitleIsNotNull() {
addCriterion("title is not null");
return (Criteria) this;
}
public Criteria andTitleEqualTo(String value) {
addCriterion("title =", value, "title");
filePath.mkdirs();
}
// 使用UUID重新命名上传的文件名称(上传人_uuid_原始文件名称)
String newFilename = UUID.randomUUID() + "_" + originalFilename;
String imgurl = "/upload/" + newFilename;
news.setUrl(imgurl);
try {
// 使用MultipartFile接口的方法完成文件上传到指定位置
file.transferTo(new File(dirPath + newFilename));
} catch (Exception e) {
e.printStackTrace();
return "Error";
} finally {
newsService.updateNews(news);
}
}
// 跳转到成功页面
return "redirect:/allNews";
} else {
return "Error";
}
}
@RequestMapping("/deleteNewsById")
public String deleteNews(Integer id) {
newsService.deleteUserByID(id);
return "redirect:/allNews";
}
@RequestMapping("/newsInfo")
public String newsInfo(Integer id, Model model) {
News news = newsService.selectNewsById(id);
model.addAttribute("news", news);
return "NewsInfo";
}
@RequestMapping("/toUpdateNews")
public String toUpdateNews(Integer id, Model model) {
News news = newsService.selectNewsById(id);
model.addAttribute("news", news);
return "UpdateNews";
}
}
package com.demo.controller;
<div class="form-group">
<label class="col-sm-2 control-label">用户性别:</label>
<div class="col-sm-5 ">
<label class="radio-inline">
<input type="radio" name="sex" id="optionsRadios3" value="男" checked> 男
</label>
<label class="radio-inline">
<input type="radio" name="sex" id="optionsRadios4" value="女"> 女
</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">年龄:</label>
<div class="col-sm-10 usually">
<input type="number" class="form-control" name="age" placeholder="请输入年龄" min="18" max="60" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">自我介绍:</label>
<div class="col-sm-10 usually">
<textarea class="form-control " name="introduction" rows="5" cols="8" required></textarea>
<div/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<!--<input type="checkbox"> Remember me-->
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success">立即注册</button>
<a href="/toLogin">
<button type="button" class="btn btn-primary">去登录</button>
</a>
</div>
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
addCriterion("url in", values, "url");
return (Criteria) this;
}
public Criteria andUrlNotIn(List<String> values) {
addCriterion("url not in", values, "url");
return (Criteria) this;
}
public Criteria andUrlBetween(String value1, String value2) {
addCriterion("url between", value1, value2, "url");
return (Criteria) this;
}
public Criteria andUrlNotBetween(String value1, String value2) {
addCriterion("url not between", value1, value2, "url");
return (Criteria) this;
}
public Criteria andTimeIsNull() {
addCriterion("time is null");
return (Criteria) this;
}
public Criteria andTimeIsNotNull() {
addCriterion("time is not null");
return (Criteria) this;
}
public Criteria andTimeEqualTo(Date value) {
addCriterion("time =", value, "time");
return (Criteria) this;
}
public Criteria andTimeNotEqualTo(Date value) {
addCriterion("time <>", value, "time");
return (Criteria) this;
}
public Criteria andTimeGreaterThan(Date value) {
addCriterion("time >", value, "time");
return (Criteria) this;
}
public Criteria andEmailBetween(String value1, String value2) {
addCriterion("email between", value1, value2, "email");
return (Criteria) this;
}
public Criteria andEmailNotBetween(String value1, String value2) {
addCriterion("email not between", value1, value2, "email");
return (Criteria) this;
}
public Criteria andUsernameIsNull() {
addCriterion("username is null");
return (Criteria) this;
}
public Criteria andUsernameIsNotNull() {
addCriterion("username is not null");
return (Criteria) this;
}
public Criteria andUsernameEqualTo(String value) {
addCriterion("username =", value, "username");
return (Criteria) this;
}
public Criteria andUsernameNotEqualTo(String value) {
addCriterion("username <>", value, "username");
return (Criteria) this;
}
public Criteria andUsernameGreaterThan(String value) {
addCriterion("username >", value, "username");
return (Criteria) this;
}
public Criteria andUsernameGreaterThanOrEqualTo(String value) {
addCriterion("username >=", value, "username");
return (Criteria) this;
}
public Criteria andUsernameLessThan(String value) {
addCriterion("username <", value, "username");
return (Criteria) this;
}
public Criteria andUsernameLessThanOrEqualTo(String value) {
addCriterion("username <=", value, "username");
return (Criteria) this;
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<!--<input type="checkbox"> Remember me-->
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success">立即注册</button>
<a href="/toLogin">
<button type="button" class="btn btn-primary">去登录</button>
</a>
</div>
</div>
</form>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>更新新闻</title>
<link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">更新新闻</a>
</div>
<div>
<p class="navbar-text"> 请填写相关信息</p>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<form action="/updateNews" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="exampleInputEmail1">新闻编号</label>
public Criteria andUsernameLike(String value) {
addCriterion("username like", value, "username");
return (Criteria) this;
}
public Criteria andUsernameNotLike(String value) {
addCriterion("username not like", value, "username");
return (Criteria) this;
}
public Criteria andUsernameIn(List<String> values) {
addCriterion("username in", values, "username");
return (Criteria) this;
}
public Criteria andUsernameNotIn(List<String> values) {
addCriterion("username not in", values, "username");
return (Criteria) this;
}
public Criteria andUsernameBetween(String value1, String value2) {
addCriterion("username between", value1, value2, "username");
return (Criteria) this;
}
public Criteria andUsernameNotBetween(String value1, String value2) {
addCriterion("username not between", value1, value2, "username");
return (Criteria) this;
}
public Criteria andPasswordIsNull() {
addCriterion("password is null");
return (Criteria) this;
}
public Criteria andPasswordIsNotNull() {
addCriterion("password is not null");
return (Criteria) this;
}
public Criteria andPasswordEqualTo(String value) {
addCriterion("password =", value, "password");
return (Criteria) this;
}
public Criteria andPasswordIsNotNull() {
addCriterion("password is not null");
return (Criteria) this;
}
public Criteria andPasswordEqualTo(String value) {
addCriterion("password =", value, "password");
return (Criteria) this;
}
public Criteria andPasswordNotEqualTo(String value) {
addCriterion("password <>", value, "password");
return (Criteria) this;
}
public Criteria andPasswordGreaterThan(String value) {
addCriterion("password >", value, "password");
return (Criteria) this;
}
public Criteria andPasswordGreaterThanOrEqualTo(String value) {
addCriterion("password >=", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLessThan(String value) {
addCriterion("password <", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLessThanOrEqualTo(String value) {
addCriterion("password <=", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLike(String value) {
addCriterion("password like", value, "password");
return (Criteria) this;
}
public Criteria andPasswordNotLike(String value) {
addCriterion("password not like", value, "password");
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>登录</title>
<link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">欢迎登录</a>
</div>
<div>
<p class="navbar-text"> 请填写相关信息</p>
</div>
</div>
</nav>
<div class="container">
<div class="row">
<h2 class="text-center">新闻管理系统</h2>
</div>
<div class="row" style="margin-top: 30px">
<div class="col-md-5 col-md-offset-3">
<form action="/login">
<div class="form-group">
<label for="exampleInputEmail1">用户名</label>
<input type="text" class="form-control" name="username" id="exampleInputEmail1" placeholder="请输入用户名" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1">用户密码</label>
<input type="password" class="form-control" name="password" id="exampleInputPassword1" placeholder="Password">
</div>
<div class="checkbox">
<label>
<!--<input type="checkbox"> Check me out-->
</label>
</div>
<button type="submit" class="btn btn-success">立即登录</button>
<div class="col-sm-10 usually">
<input type="text" class="form-control" name="username" placeholder="请输入用户名" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">用户密码:</label>
<div class="col-sm-10 usually">
<input type="password" class="form-control" name="password" id="inputPassword3" placeholder="Password"
required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">确定密码:</label>
<div class="col-sm-10 usually">
<input type="password" class="form-control" id="inputPassword3" placeholder="Password"
required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">用户性别:</label>
<div class="col-sm-5 ">
<label class="radio-inline">
<input type="radio" name="sex" id="optionsRadios3" value="男" checked> 男
</label>
<label class="radio-inline">
<input type="radio" name="sex" id="optionsRadios4" value="女"> 女
</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">年龄:</label>
<div class="col-sm-10 usually">
<input type="number" class="form-control" name="age" placeholder="请输入年龄" min="18" max="60" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">自我介绍:</label>
<div class="col-sm-10 usually">
<textarea class="form-control " name="introduction" rows="5" cols="8" required></textarea>
<div/>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
return (Criteria) this;
}
public Criteria andTitleNotEqualTo(String value) {
addCriterion("title <>", value, "title");
return (Criteria) this;
}
public Criteria andTitleGreaterThan(String value) {
addCriterion("title >", value, "title");
return (Criteria) this;
}
public Criteria andTitleGreaterThanOrEqualTo(String value) {
addCriterion("title >=", value, "title");
return (Criteria) this;
}
public Criteria andTitleLessThan(String value) {
addCriterion("title <", value, "title");
return (Criteria) this;
}
public Criteria andTitleLessThanOrEqualTo(String value) {
addCriterion("title <=", value, "title");
return (Criteria) this;
}
public Criteria andTitleLike(String value) {
addCriterion("title like", value, "title");
return (Criteria) this;
}
public Criteria andTitleNotLike(String value) {
addCriterion("title not like", value, "title");
return (Criteria) this;
}
public Criteria andTitleIn(List<String> values) {
addCriterion("title in", values, "title");
return (Criteria) this;
}
public Criteria andTitleNotIn(List<String> values) {
addCriterion("title not in", values, "title");
return (Criteria) this;
}
public Criteria andTitleBetween(String value1, String value2) {
addCriterion("title between", value1, value2, "title");
return (Criteria) this;
}
public Criteria andTitleNotBetween(String value1, String value2) {
set title = #{title,jdbcType=VARCHAR},
url = #{url,jdbcType=VARCHAR},
time = #{time,jdbcType=TIMESTAMP},
info = #{info,jdbcType=LONGVARCHAR}
where newsid = #{newsid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.demo.pojo.News" >
update news
set title = #{title,jdbcType=VARCHAR},
url = #{url,jdbcType=VARCHAR},
time = #{time,jdbcType=TIMESTAMP}
where newsid = #{newsid,jdbcType=INTEGER}
</update>
</mapper>
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>用户注册</title>
<link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" th:href="@{/css/register.css}">
</head>
<body>
<div class="container ">
<div class="col-md-5 imgstyle">
<img th:src="@{/imgs/tree.jpg}" alt="树">
</div>
<form class="form-horizontal col-md-7 formstyle" action="/registerUser">
<div class="form-group "><h2 class="col-sm-6 col-sm-offset-2">用户注册</h2></div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">用户邮箱:</label>
<div class="col-sm-10 usually">
<input type="email" class="form-control" name="email" id="inputEmail3" placeholder="邮箱" required>
</div>
</div>
<div class="form-group ">