Springboot学习笔记(六)关于jdbc的增删改查
2017-09-26 10:41
691 查看
数据库配置为:
![](https://img-blog.csdn.net/20170926104132730?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
以数据库demo1,表:zh_user作为演示。含有以下几个元素:
![](https://img-blog.csdn.net/20170926104157176?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170926104206339?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
实体类为:User
![](https://img-blog.csdn.net/20170926104226658?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1、查
(1)查询全部,sql语句:”select* from zh_user(表名)”;在Dao层。
![](https://img-blog.csdn.net/20170926104302324?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Service层
![](https://img-blog.csdn.net/20170926104328244?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Controller层:
![](https://img-blog.csdn.net/20170926104345129?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170926104448713?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
输入 http://localhost:8080/getall的返回效果
(2)根据某一项条件查询,sql语句:”select password,sex from zh_user where username=?”。表示根据username查询此项的password及sex。
Dao层:
![](https://img-blog.csdn.net/20170926104513836?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Service层:
![](https://img-blog.csdn.net/20170926104533323?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Controller层:
![](https://img-blog.csdn.net/20170926104548054?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170926104602300?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
输入:localhost:8080/learn?name=mm。因id是主键,故会自动创建(没有查询,值为0)。
也可以写作另外一个形式,传入参数是User类。
![](https://img-blog.csdn.net/20170926104721951?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170926104731361?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170926104737658?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、增
Sql语句:"insert into zh_user(username,password) values(?,?)"。
Dao层:使用update方法,其中type是传入参数的数据类型
![](https://img-blog.csdn.net/20170926104757917?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Service层:
![](https://img-blog.csdn.net/20170926104820386?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Controller层:
![](https://img-blog.csdn.net/20170926104833590?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3、删
Sql语句:"delete from zh_user where username = ?"。通过输入username,删除对应数据。Dao层:同样使用update方法。
![](https://img-blog.csdn.net/20170926104852277?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Service层:
![](https://img-blog.csdn.net/20170926104951037?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Controller层:
![](https://img-blog.csdn.net/20170926105003732?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4、改
Sql语句:"update zh_user set username = ? , sex = ? where id = ?"。通过输入id,更改对应数据的username以及sex的值。
Dao层:同样使用update方法。
![](https://img-blog.csdn.net/20170926105030713?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Service层:
Controller层:
![](https://img-blog.csdn.net/20170926105054948?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170926105105326?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwMzk3MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5、Dao层所有配置
package com.example.demo.dao;
import java.sql.Types;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import com.example.demo.bean.User;
@Repository
public class UserDao
{
@Resource
public JdbcTemplate jdbc;
private String querySql = "SELECT username,id FROM zh_user WHERE username=?";
private String insertSql = "insert into zh_user(username,password) values(?,?)";
private String findsql = "select * from zh_user";
//通过username查询表内,password及sex信息
public User getPassword(User use)
{
String sql = "select password,sex from zh_user where username = ?";
RowMapper<User> rpw = new BeanPropertyRowMapper<>(User.class);
Object[] namee = new Object[] {use.getUsername()};
User password = jdbc.queryForObject(sql,namee , rpw);
return password;
}
//查全部
public List<User> getAll()
{
String findsql = "select * from zh_user";
RowMapper<User> rwp = new BeanPropertyRowMapper<>(User.class);
List<User> mm = jdbc.query(findsql, rwp);
return mm;
}
//增
public int insert(User use)
{
String insertSql = "insert into zh_user(username,password) values(?,?)";
Object[] obj = new Object[] {use.getUsername(),use.getPassword()};
int[] type = new int[] {Types.VARCHAR,Types.VARCHAR};
int uss = jdbc.update(insertSql, obj, type);
return u
4000
ss;
}
//删
public int delete(User use)
{
String deleteSql = "delete from zh_user where username = ?";
Object[] obb = new Object[] {use.getUsername()};
int[] typee = new int[] {Types.VARCHAR};
int res = jdbc.update(deleteSql, obb, typee);
return res;
}
//改
public void update(User uss)
{
String updateSql = "update zh_user set username = ? , sex = ? where id = ?";
Object[] obj = new Object[] {uss.getUsername(),uss.getSex(),uss.getId()};
int[] tt = new int[] {Types.VARCHAR,Types.VARCHAR,Types.BIGINT};
jdbc.update(updateSql, obj, tt);
}
}
6、Service层,所有配置
package com.example.demo.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.example.demo.bean.User;
import com.example.demo.dao.UserDao;
@Service
public class userService
{
@Resource
public UserDao usedao;
//查
public User getpasd(User name)
{
return usedao.getPassword(name);
}
public List<User> getalll()
{
return usedao.getAll();
}
//增
public int insert(User use)
{
return usedao.insert(use);
}
//删
public void delete(User use)
{
usedao.delete(use);
}
//改
public void update(User use)
{
usedao.update(use);
}
}
7、Controller层所有配置
package com.example.demo.controller;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.example.demo.bean.User;
import com.example.demo.service.userService;
@Controller
public class UserController
{
@Resource
public userService user;
@ResponseBody
@RequestMapping("/learn")
public User getpad(User name)
{
name.setUsername("刘亦菲");
return user.getpasd(name);
}
@ResponseBody
@RequestMapping("/getall")
public List<User> getl()
{
return user.getalll();
}
@ResponseBody
@RequestMapping("/insert")
public int inse(User use)
{
use.setUsername("mm");
use.setPassword("977423");
return user.insert(use);
}
@ResponseBody
@RequestMapping("/delete")
public String delet(User uss)
{
uss.setUsername("赵云");
user.delete(uss);
return "删除完成";
}
@ResponseBody
@RequestMapping("/update")
public String upda(User uss)
{
uss.setUsername("诸葛亮");
uss.setSex("男");
uss.setId(2);
user.update(uss);
return "更改完成";
}
}
以数据库demo1,表:zh_user作为演示。含有以下几个元素:
实体类为:User
1、查
(1)查询全部,sql语句:”select* from zh_user(表名)”;在Dao层。
Service层
Controller层:
输入 http://localhost:8080/getall的返回效果
(2)根据某一项条件查询,sql语句:”select password,sex from zh_user where username=?”。表示根据username查询此项的password及sex。
Dao层:
Service层:
Controller层:
输入:localhost:8080/learn?name=mm。因id是主键,故会自动创建(没有查询,值为0)。
也可以写作另外一个形式,传入参数是User类。
2、增
Sql语句:"insert into zh_user(username,password) values(?,?)"。
Dao层:使用update方法,其中type是传入参数的数据类型
Service层:
Controller层:
3、删
Sql语句:"delete from zh_user where username = ?"。通过输入username,删除对应数据。Dao层:同样使用update方法。
Service层:
Controller层:
4、改
Sql语句:"update zh_user set username = ? , sex = ? where id = ?"。通过输入id,更改对应数据的username以及sex的值。
Dao层:同样使用update方法。
Service层:
Controller层:
5、Dao层所有配置
package com.example.demo.dao;
import java.sql.Types;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import com.example.demo.bean.User;
@Repository
public class UserDao
{
@Resource
public JdbcTemplate jdbc;
private String querySql = "SELECT username,id FROM zh_user WHERE username=?";
private String insertSql = "insert into zh_user(username,password) values(?,?)";
private String findsql = "select * from zh_user";
//通过username查询表内,password及sex信息
public User getPassword(User use)
{
String sql = "select password,sex from zh_user where username = ?";
RowMapper<User> rpw = new BeanPropertyRowMapper<>(User.class);
Object[] namee = new Object[] {use.getUsername()};
User password = jdbc.queryForObject(sql,namee , rpw);
return password;
}
//查全部
public List<User> getAll()
{
String findsql = "select * from zh_user";
RowMapper<User> rwp = new BeanPropertyRowMapper<>(User.class);
List<User> mm = jdbc.query(findsql, rwp);
return mm;
}
//增
public int insert(User use)
{
String insertSql = "insert into zh_user(username,password) values(?,?)";
Object[] obj = new Object[] {use.getUsername(),use.getPassword()};
int[] type = new int[] {Types.VARCHAR,Types.VARCHAR};
int uss = jdbc.update(insertSql, obj, type);
return u
4000
ss;
}
//删
public int delete(User use)
{
String deleteSql = "delete from zh_user where username = ?";
Object[] obb = new Object[] {use.getUsername()};
int[] typee = new int[] {Types.VARCHAR};
int res = jdbc.update(deleteSql, obb, typee);
return res;
}
//改
public void update(User uss)
{
String updateSql = "update zh_user set username = ? , sex = ? where id = ?";
Object[] obj = new Object[] {uss.getUsername(),uss.getSex(),uss.getId()};
int[] tt = new int[] {Types.VARCHAR,Types.VARCHAR,Types.BIGINT};
jdbc.update(updateSql, obj, tt);
}
}
6、Service层,所有配置
package com.example.demo.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.example.demo.bean.User;
import com.example.demo.dao.UserDao;
@Service
public class userService
{
@Resource
public UserDao usedao;
//查
public User getpasd(User name)
{
return usedao.getPassword(name);
}
public List<User> getalll()
{
return usedao.getAll();
}
//增
public int insert(User use)
{
return usedao.insert(use);
}
//删
public void delete(User use)
{
usedao.delete(use);
}
//改
public void update(User use)
{
usedao.update(use);
}
}
7、Controller层所有配置
package com.example.demo.controller;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.example.demo.bean.User;
import com.example.demo.service.userService;
@Controller
public class UserController
{
@Resource
public userService user;
@ResponseBody
@RequestMapping("/learn")
public User getpad(User name)
{
name.setUsername("刘亦菲");
return user.getpasd(name);
}
@ResponseBody
@RequestMapping("/getall")
public List<User> getl()
{
return user.getalll();
}
@ResponseBody
@RequestMapping("/insert")
public int inse(User use)
{
use.setUsername("mm");
use.setPassword("977423");
return user.insert(use);
}
@ResponseBody
@RequestMapping("/delete")
public String delet(User uss)
{
uss.setUsername("赵云");
user.delete(uss);
return "删除完成";
}
@ResponseBody
@RequestMapping("/update")
public String upda(User uss)
{
uss.setUsername("诸葛亮");
uss.setSex("男");
uss.setId(2);
user.update(uss);
return "更改完成";
}
}
相关文章推荐
- 关于springboot的学习笔记
- SpringBoot学习笔记之JDBC使用
- SpringBoot 学习笔记
- (一) Spring Boot学习笔记之第一个Spring Boot程序HelloWorld
- springboot学习笔记-1 第一个springboot示例
- springboot 学习笔记1(gradle创建web工程)
- springboot 学习笔记【4】Spring Boot中使用Spring-data-jpa
- SpringBoot学习笔记--HelloWorld
- Spring-Boot学习笔记(二) 配置文件之初步使用
- Spring Boot学习笔记-配置devtools实现热部署
- SpringJDBC 学习笔记
- Spring Boot学习笔记-零xml配置jpa
- Spring Boot实战学习笔记4
- spring-cloud-build-项目pom结构1.3.4(Dalston.SR3)-boot(1.5.6) 学习笔记
- spring学习笔记: Spring Jdbc (转)
- Spring4学习笔记-SpringJDBC基本操作(补充)
- 学习笔记2:Struts2 +Spring JDBC
- Spring Boot学习进阶笔记(五)-异常统一处理
- 关于springboot 配置文件、Aop配置以及jdbc配置
- Spring Boot 学习[四] web项目实战训练(增删改查,分页,排序)