Springboot学习笔记(六)关于jdbc的增删改查

数据库配置为:


以数据库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 uss;
	}
	
	//删
	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 "更改完成";
	}
}




  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值