1. 程式人生 > >Springboot學習筆記(六)關於jdbc的增刪改查

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 "更改完成";
	}
}