spring连接数据库进行增,删,改,操作

实体类
package com.yr.pojo;

import org.springframework.stereotype.Component;

@Component
public class Student {
private Integer id;

private String stuName;

private Integer stuAge;

private String address;

public Integer getId() {
	return id;
}

public void setId(Integer id) {
	this.id = id;
}

public String getStuName() {
	return stuName;
}

public void setStuName(String stuName) {
	this.stuName = stuName;
}

public Integer getStuAge() {
	return stuAge;
}

public void setStuAge(Integer stuAge) {
	this.stuAge = stuAge;
}

public String getAddress() {
	return address;
}

public void setAddress(String address) {
	this.address = address;
}

@Override
public String toString() {
	return "Student [id=" + id + ", stuName=" + stuName + ", stuAge="
			+ stuAge + ", address=" + address + "]";
}

}

server接口
package com.yr.server;

import java.util.List;
import com.yr.pojo.Student;

public interface StudentServer {
int addStudent(Student student);
int delStudent(int id);
int updateStudent(Student student);
Student getStudent(int id);
List getStudentList();
}

server实现类
package com.yr.server.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.yr.dao.StudentDao;
import com.yr.pojo.Student;
import com.yr.server.StudentServer;
@Service
public class StudentServerImpl implements StudentServer {

@Autowired
private StudentDao dao;


@Override
public int addStudent(Student student) {
	String sql="insert into tbl_student(stuName,stuAge,address) values(?,?,?)";
	return dao.addStudent(sql, student.getStuName(),student.getStuAge(),student.getAddress());
}

@Override
public int delStudent(int id) {
	String sql="delete from tbl_student where id=?";
	return dao.delStudent(sql, id);
}

@Override
public int updateStudent(Student student) {
	String sql="update tbl_student set stuName=?,stuAge=?,address=? where id=?";
	return dao.updateStudent(sql, student);
}

@Override
public Student getStudent(int id) {
	String sql="select * from tbl_student where id=?";
	return dao.getStudent(sql, id);
}

@Override
public List<Student> getStudentList() {
	String sql="select * from tbl_student";
	return dao.getStudentList(sql);
}

}

dao层
package com.yr.dao;

import java.util.List;

import com.yr.pojo.Student;

public interface StudentDao {
int addStudent(String sql,Object…obj);//添加用户
int delStudent(String sql,Object…obj);//删除用户
int updateStudent(String sql,Object…obj);//修改用户
Student getStudent(String sql,Object…obj);//得到单个用户
List getStudentList(String sql,Object…obj);//得到多个用户
}

dao实现类
package com.yr.dao.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
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.yr.dao.StudentDao;
import com.yr.pojo.Student;
@Repository
public class StudentDaoImpl implements StudentDao {

@Autowired
private JdbcTemplate jdbcTemplate;

@Override
public int addStudent(String sql, Object... obj) {
	return jdbcTemplate.update(sql, obj);
}

@Override
public int delStudent(String sql, Object... obj) {
	return jdbcTemplate.update(sql, obj);
}

@Override
public int updateStudent(String sql, Object... obj) {
	return jdbcTemplate.update(sql, obj);
}

@Override
public Student getStudent(String sql, Object... obj) {
	RowMapper<Student> rowMapper=new BeanPropertyRowMapper<>(Student.class);
	return jdbcTemplate.queryForObject(sql, rowMapper,obj);
}

@Override
public List<Student> getStudentList(String sql, Object... obj) {
	RowMapper<Student> rowMapper=new BeanPropertyRowMapper<>(Student.class);
	return jdbcTemplate.query(sql, rowMapper);
}

}

测试类
package com.yr.junit;
import java.util.List;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.yr.pojo.Student;
import com.yr.server.StudentServer;

public class test {

private StudentServer server;

@SuppressWarnings("resource")
@Before
public void init(){
	ApplicationContext application=new ClassPathXmlApplicationContext("applicationContext.xml");
	server=application.getBean(StudentServer.class);
}

@Test
public void testAddStudent() {
	Student stu=new Student();
	stu.setStuName("麦基");
	stu.setStuAge(19);
	stu.setAddress("湖南长沙");
	int result=server.addStudent(stu);
	if(result>0){
		System.out.println("成功!");
	}else{
		System.out.println("失败");
	}
}

@Test
public void testDelStudent(){
	int num=server.delStudent(3);
	if(num>0){
		System.out.println("成功");
	}else{
		System.out.println("失败");
	}
}

@Test
public void testUopdateStudent(){
	Student stu=new Student();
	stu.setStuName("阿斯顿");
	stu.setStuAge(20);
	stu.setAddress("湖南岳阳");
	stu.setId(2);
	int resut=server.updateStudent(stu);
	if(resut>0){
		System.out.println("成功");
	}else{
		System.out.println("失败");
	}
}

@Test
public void testGetStudent(){
	Student stu=server.getStudent(2);
	System.out.println(stu);
}

@Test
public void testGetStudentList(){
	List<Student> list=server.getStudentList();
	for (Student item:list) {
		System.out.println(item);
	}
}

}

applicationContext.xml的配置

<?xml version="1.0" encoding="UTF-8"?>

    <context:component-scan base-package="com.yr"/>
    
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    	<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    	<property name="url" value="jdbc:mysql://localhost:3306/spring_db"/>
    	<property name="username" value="root"/>
    	<property name="password" value="root123"/>
    </bean>
    
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    	<property name="dataSource" ref="dataSource"/>
    </bean>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值