spring.datasource.url = jdbc:mysql://localhost:3306/education?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC
#你的数据库名字
spring.datasource.username = root
#你的数据库密码
spring.datasource.password = 123456
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
#页面热加载
spring.thymeleaf.cache = false
#设置的默认端口号
server.port = 8080
#mapper.xml的位置
mybatis.mapper-locations = classpath:mapper/*.xml
#pojo的位置
mybatis.type-aliases-package = com.wangqy.demo3.pojo
启动项目显示无异常,OK!
DemoController
的代码:
package com.wangqy.demo3.controller;
import com.wangqy.demo3.pojo.User;
import com.wangqy.demo3.service.DemoService;
import com.wangqy.demo3.util.CusResult;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.util.List;
@CrossOrigin(origins="*")
@Controller
@RequestMapping("/demo")
public class DemoController {
@Resource
private DemoService demoService;
// @RequestMapping("/home")
// public String home(User user){
// return "index.html";
// }
@RequestMapping("/add")
@ResponseBody
public CusResult add(User user){
int result = 0 ;
if (user.getId() == null || user.getIdentity() == null || user.getPassword() == null || user.getUsername() ==null){
return CusResult.error(500 , "参数错误");
}
result = this.demoService.addUser(user);
if (result == 1){
return CusResult.ok("成功插入");
}
return CusResult.error(500 , "插入失败");
}
@RequestMapping("/delete")
@ResponseBody
public CusResult delete(User user){
int result = 0;
if (user.getId() == null ){
return CusResult.error(500 , "参数错误");
}
result = this.demoService.deleteUser(user);
if (result != 0){
return CusResult.ok("成功删除");
}
return CusResult.error(500 , "删除失败");
}
/**
*
* @param user
* @return
*
* 按照id更改内容
*/
@RequestMapping("/update")
@ResponseBody
public CusResult update(User user){
int result = 0;
if (user.getId() == null){
return CusResult.error(500 , "目标参数错误,可能原因:目标参数为空");
}
result = this.demoService.updateUser(user);
if (result != 0){
return CusResult.ok("修改内容成功");
}
return CusResult.error(500 ,"修改失败");
}
@RequestMapping("/select")
@ResponseBody
public CusResult select(){
List<User> users = this.demoService.selectAll();
for (User user:users
) {
System.out.println(user.toString());
}
if (users.size() ==0 ){
CusResult.error(500 , "查询结果不存在或服务器发生错误!");
}
return CusResult.ok(users);
}
}
UserMapper
的代码如下:
package com.wangqy.demo3.dao;
import com.wangqy.demo3.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserMapper {
int deleteByPrimaryKey(Integer id);
int insert(User record);
List<User> selectAll();
int updateByPrimaryKey(User record);
}
User
的代码如下:
package com.wangqy.demo3.pojo;
import java.io.Serializable;
public class User implements Serializable {
private Integer id;
private String username;
private String password;
private String identity;
public User(Integer id, String username, String password, String identity) {
this.id = id;
this.username = username;
this.password = password;
this.identity = identity;
}
public User() {
super();
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public String getIdentity() {
return identity;
}
public void setIdentity(String identity) {
this.identity = identity == null ? null : identity.trim();
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", identity='" + identity + '\'' +
'}';
}
}
UserExample
的代码如下:
package com.wangqy.demo3.pojo;
import java.util.ArrayList;
import java.util.List;
public class UserExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public UserExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
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");
}
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 andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
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 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;
}
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 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");
return (Criteria) this;
}
public Criteria andPasswordIn(List<String> values) {
addCriterion("password in", values, "password");
return (Criteria) this;
}
public Criteria andPasswordNotIn(List<String> values) {
addCriterion("password not in", values, "password");
return (Criteria) this;
}
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 andIdentityIsNull() {
addCriterion("identity is null");
return (Criteria) this;
}
public Criteria andIdentityIsNotNull() {
addCriterion("identity is not null");
return (Criteria) this;
}
public Criteria andIdentityEqualTo(String value) {
addCriterion("identity =", value, "identity");
return (Criteria) this;
}
public Criteria andIdentityNotEqualTo(String value) {
addCriterion("identity <>", value, "identity");
return (Criteria) this;
}
public Criteria andIdentityGreaterThan(String value) {
addCriterion("identity >", value, "identity");
return (Criteria) this;
}
public Criteria andIdentityGreaterThanOrEqualTo(String value) {
addCriterion("identity >=", value, "identity");
return (Criteria) this;
}
public Criteria andIdentityLessThan(String value) {
addCriterion("identity <", value, "identity");
return (Criteria) this;
}
public Criteria andIdentityLessThanOrEqualTo(String value) {
addCriterion("identity <=", value, "identity");
return (Criteria) this;
}
public Criteria andIdentityLike(String value) {
addCriterion("identity like", value, "identity");
return (Criteria) this;
}
public Criteria andIdentityNotLike(String value) {
addCriterion("identity not like", value, "identity");
return (Criteria) this;
}
public Criteria andIdentityIn(List<String> values) {
addCriterion("identity in", values, "identity");
return (Criteria) this;
}
public Criteria andIdentityNotIn(List<String> values) {
addCriterion("identity not in", values, "identity");
return (Criteria) this;
}
public Criteria andIdentityBetween(String value1, String value2) {
addCriterion("identity between", value1, value2, "identity");
return (Criteria) this;
}
public Criteria andIdentityNotBetween(String value1, String value2) {
addCriterion("identity not between", value1, value2, "identity");
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;
}
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) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}
DemoService
的代码如下:
package com.wangqy.demo3.service;
import com.wangqy.demo3.pojo.User;
import java.util.List;
public interface DemoService {
List<User> selectAll();
int addUser(User user);
int updateUser(User user);
int deleteUser(User user);
}
DemoServiceImpl
的代码如下:
package com.wangqy.demo3.service.impl;
import com.wangqy.demo3.dao.UserMapper;
import com.wangqy.demo3.pojo.User;
import com.wangqy.demo3.service.DemoService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service("DemoService")
public class DemoServiceImpl implements DemoService {
@Resource
private UserMapper userMapper;
@Override
public List<User> selectAll() {
return this.userMapper.selectAll();
}
@Override
public int addUser(User user) {
return this.userMapper.insert(user);
}
@Override
public int updateUser(User user) {
return this.userMapper.updateByPrimaryKey(user);
}
@Override
public int deleteUser(User user) {
return this.userMapper.deleteByPrimaryKey(user.getId());
}
}
UserMapper.xml
的代码如下
<mapper namespace="com.wangqy.demo3.dao.UserMapper">
<resultMap id="BaseResultMap" type="com.wangqy.demo3.pojo.User">
<constructor>
<idArg column="id" javaType="java.lang.Integer" jdbcType="INTEGER" />
<arg column="username" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="password" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="identity" javaType="java.lang.String" jdbcType="VARCHAR" />
constructor>
resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
foreach>
when>
choose>
foreach>
trim>
if>
foreach>
where>
sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
foreach>
when>
choose>
foreach>
trim>
if>
foreach>
where>
sql>
<sql id="Base_Column_List">
id, username, password, identity
sql>
<select id="selectAll" resultMap="BaseResultMap">
select * from users
select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from users
where id = #{id,jdbcType=INTEGER}
delete>
<insert id="insert" parameterType="com.wangqy.demo3.pojo.User">
insert into users (id, username, password,
identity)
values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
#{identity,jdbcType=VARCHAR})
insert>
<update id="updateByPrimaryKey" parameterType="com.wangqy.demo3.pojo.User">
update users
set username = #{username,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
identity = #{identity,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
update>
mapper>
数据库sql
/*
Navicat MySQL Data Transfer
Source Server : local
Source Server Type : MySQL
Source Server Version : 50717
Source Host : 127.0.0.1:3306
Source Schema : education
Target Server Type : MySQL
Target Server Version : 50717
File Encoding : 65001
Date: 22/08/2019 09:37:59
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '唯一id',
`username` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
`password` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`identity` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '身份',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `users_id_uindex`(`id`) USING BTREE,
UNIQUE INDEX `users_username_uindex`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES (3, 'Henry', '9608a82e5a0fb219ccb2', '普通会员');
INSERT INTO `users` VALUES (4, 'Paul', '9608a82e5a0fb219ccb2', '管理员');
INSERT INTO `users` VALUES (5, 'admin', '8cc96e98ab1ac80d9717', '管理员');
INSERT INTO `users` VALUES (6, '哔哔哔', '9608a82e5a0fb219ccb2', '普通会员');
INSERT INTO `users` VALUES (7, 'qq841557053', '0947d9755d4956e11b73', '普通会员');
INSERT INTO `users` VALUES (100, '100', '100', '100');
SET FOREIGN_KEY_CHECKS = 1;
<html>
<head>
<meta charset="UTF-8">
<title>title>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js">script>
head>
<body>
select:
<input type="button" value="查询" id="btn_2" onclick="query()"/>
<input type="button" value="flush" id="btn_flush" onclick="flush()"/>
<table id="queryResult" border="1px">
<tr>
<td>idtd>
<td>usernametd>
<td>passwordtd>
<td>identtd>
tr>
<tr>
<td>td>
<td>td>
<td>td>
<td>td>
tr>
table>
<br><br><br>
------------------------------ <br><br><br>
id:<input type="text" value="" id="inno"/><br>
username:<input type="text" value="" id="inusername"/><br>
password:<input type="text" value="" id="inpassword"/><br>
ident:<input type="text" value="" id="inident"/><br>
<input type="button" value="插入" id="btn_1" onclick="submit()"/><br><br><br>
------------------------------ <br><br><br>
输入id删除:<input type="text" value="" id="pno_del"/>
<input type="button" value="删除" id="btn_3" onclick="del()"/><br><br><br>
------------------------------ <br><br><br>
id:<input type="text" value="" id="upid"/><br>
username:<input type="text" value="" id="upname"/><br>
password:<input type="text" value="" id="uppwd"/><br>
ident:<input type="text" value="" id="upident"/><br>
<input type="button" value="update" id="btn_4" onclick="update()"/>
body>
<script type="text/javascript">
function flush(){
window.location.reload()
}
function submit() {
var no = $("#inno").val();
var username = $("#inusername").val();
var password = $("#inpassword").val();
var ident = $("#inident").val();
var data={
"id":no,
"username":username,
"password":password,
"identity":ident,
}
$.ajax({
type : "POST",
url : "http://127.0.0.1:8080/demo/add",
data : data,
cache : true,
async : true,
success: function (data ,textStatus, jqXHR){
if(data.status == 200){
alert("插入成功了");
}else{
alert(data.data);
}
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
alert('错误信息'+ typeof(errorThrown) + textStatus);
}
});
}
function query() {
var str = ["id","username","pasword","identi"];
$.ajax({
type : "post",
url : "http://localhost:8080/demo/select",
data : {
},
cache : true,
async : true,
success: function (data ,textStatus, jqXHR){
console.log(data.data)
for(var p in data.data){
console.log(data.data[p]);
var trHTML = ''+ data.data[p].id +' '+data.data[p].username+' '+data.data[p].password+' '+data.data[p].identity+' '
$("#queryResult").append(trHTML);
}
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
alert(typeof(errorThrown));
}
});
}
function del() {
var pno = $("#pno_del").val();
$.ajax({
type : "post",
url : "http://127.0.0.1:8080/demo/delete",
data : {
"id": pno
},
cache : true,
async : true,
success: function (data ,textStatus, jqXHR){
if(data.status == 200){
alert("删除成功了");
}else{
alert(data.data);
}
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
alert(typeof(errorThrown));
}
});
}
function update() {
var id = $("#upid").val();
var username = $("#upname").val();
var password = $("#uppwd").val();
var ident = $("#upident").val();
var data={
"id":id,
"username":username,
"password":password,
"identity":ident,
}
$.ajax({
type : "post",
url : "http://127.0.0.1:8080/demo/update",
data : data,
cache : true,
async : true,
success: function (data ,textStatus, jqXHR){
if(data.status == 200){
alert("更新成功了");
}else{
alert(data.data);
}
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
alert(typeof(errorThrown));
}
});
}
script>
html>