实体类
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>