首页 > 代码库 > spring07 JDBC

spring07 JDBC

1.创建对应的数据库

技术分享

2.在MyEclipse中创建项目  引入需要的jar包

技术分享

3.创建数据访问层

技术分享
public interface StudentDao {        //新增学生    int addStudent(Student student);    //删除学生    int delStudent(Student student);    //修改学生    int updateStudent(Student student);        //查询所有    List<Student> findStudents();    //查询所有的学生姓名    List<String> findNames();}
StudentDao
技术分享
public class StudentDaoImpl extends JdbcDaoSupport  implements StudentDao {    @Override//新增    public int addStudent(Student student) {        String sql="insert into  student(age,name) values(?,?)";        return getJdbcTemplate().update(sql,student.getAge(),student.getName());    }    @Override//删除    public int delStudent(Student student) {        String sql="delete  from  student where id=?";        return getJdbcTemplate().update(sql,student.getId());    }    @Override//修改    public int updateStudent(Student student) {        String sql="update   student   set age=?,name=? where id=?";        return getJdbcTemplate().update(sql,student.getAge(),student.getName(),student.getId());    }        //查询所有的学生信息    @Override    public List<Student> findStudents() {        String sql="select * from student";        //需要配置  行 映射器    因为 表中有3列  spring期望值是一列          return getJdbcTemplate().query(sql, new StudentRowMapper());    }    //查询所有的姓名    @Override    public List<String> findNames() {        String sql="select name from student";        return getJdbcTemplate().queryForList(sql, String.class);    }}
StudentDaoImpl
技术分享
public class StudentRowMapper implements RowMapper<Student> { //行映射器    //这里的ResultSet指的是单行数据  并不是 所有行的结果集    @Override    public Student mapRow(ResultSet rs, int rowNum) throws SQLException {    Student student=new Student();    student.setId(rs.getInt("id"));    student.setAge(rs.getInt("age"));    student.setName(rs.getString("name"));        return student;    }}
StudentRowMapper

4.创建业务逻辑层

技术分享
public interface StudentService {            //新增学生        void addStudent(Student student);        //删除学生        void delStudent(Student student);        //修改学生        void updateStudent(Student student);                //查询所有        List<Student> findStudents();        //查询所有的学生姓名        List<String> findNames();        }
StudentService
技术分享
public class StudentServiceImpl implements StudentService {    private StudentDao dao;    // 新增    @Override    public void addStudent(Student student) {        int num = dao.addStudent(student);        if (num > 0) {            System.out.println("新增成功");        } else {            System.out.println("新增失败");        }    }    @Override    // 删除    public void delStudent(Student student) {        int num = dao.delStudent(student);        if (num > 0) {            System.out.println("删除成功");        } else {            System.out.println("删除失败");        }    }    @Override    // 修改    public void updateStudent(Student student) {        int num = dao.updateStudent(student);        if (num > 0) {            System.out.println("修改成功");        } else {            System.out.println("修改失败");        }    }    @Override    // 查询所有的学生信息    public List<Student> findStudents() {        return dao.findStudents();    }    @Override    // 查询所有的学生姓名    public List<String> findNames() {        return dao.findNames();    }    public StudentDao getDao() {        return dao;    }        //DI 依赖注入    public void setDao(StudentDao dao) {        this.dao = dao;    }}
StudentServiceImpl

5.书写配置文件

技术分享
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"    xsi:schemaLocation="        http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context.xsd        http://www.springframework.org/schema/tx         http://www.springframework.org/schema/tx/spring-tx.xsd        http://www.springframework.org/schema/aop         http://www.springframework.org/schema/aop/spring-aop.xsd">    <!-- 配置数据源 01.spring的默认数据源 -->    <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">         <property name="driverClassName" value="http://www.mamicode.com/com.mysql.jdbc.Driver"/> <property         name="url" value="http://www.mamicode.com/jdbc:mysql:///news"/> <property name="username" value="http://www.mamicode.com/wym"/>         <property name="password" value="http://www.mamicode.com/wym"/> </bean> -->    <!-- 配置数据源 02.dbcp数据源 -->    <!-- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">         <property name="driverClassName" value="http://www.mamicode.com/com.mysql.jdbc.Driver"/> <property         name="url" value="http://www.mamicode.com/jdbc:mysql:///news"/> <property name="username" value="http://www.mamicode.com/wym"/>         <property name="password" value="http://www.mamicode.com/wym"/> </bean> -->    <!-- 配置数据源 03.c3p0数据源 -->    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">        <property name="driverClass" value="${driverClass}" />        <property name="jdbcUrl" value="${jdbcUrl}" />        <property name="user" value="${user}" />        <property name="password" value="${password}" />    </bean>    <!-- 01. 使用配置文件 加载 数据库需要的4要素 经常使用 -->    <context:property-placeholder location="classpath:jdbc.properties" />    <!-- 02.使用配置文件 加载 数据库需要的4要素 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">         <property name="location" value="http://www.mamicode.com/classpath:jdbc.properties"></property> </bean> -->    <!-- 配置模板 -->    <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">        <property name="dataSource" ref="dataSource"></property>    </bean>    <!--配置dao -->    <bean id="dao" class="cn.bdqn.dao.impl.StudentDaoImpl">        <property name="jdbcTemplate" ref="template"></property>    </bean>    <!-- 配置service -->    <bean id="service" class="cn.bdqn.service.impl.StudentServiceImpl">        <property name="dao" ref="dao"></property>    </bean></beans>
applicationContext.xml

jdbc.properties文件

技术分享

6.书写测试类

技术分享
public class StudentTest {    @Test    // 新增    public void addTest() {        ApplicationContext context = new ClassPathXmlApplicationContext(                "applicationContext.xml");        StudentService service = (StudentService) context.getBean("service");        service.addStudent(new Student(5655, "小白5"));    }    @Test    // 删除    public void delTest() {        ApplicationContext context = new ClassPathXmlApplicationContext(                "applicationContext.xml");        StudentService service = (StudentService) context.getBean("service");        Student student = new Student();        student.setId(2);        service.delStudent(student);    }    @Test    // 修改    public void updateTest() {        ApplicationContext context = new ClassPathXmlApplicationContext(                "applicationContext.xml");        StudentService service = (StudentService) context.getBean("service");        Student student = new Student();        student.setId(1);        student.setName("xiao");        student.setAge(1000);        service.updateStudent(student);    }    @Test    // 查询学生姓名    public void findNames() {        ApplicationContext context = new ClassPathXmlApplicationContext(                "applicationContext.xml");        StudentService service = (StudentService) context.getBean("service");        List<String> names = service.findNames();        for (String string : names) {            System.out.println(string);        }    }    @Test    // 查询学生    public void findStudents() {        ApplicationContext context = new ClassPathXmlApplicationContext(                "applicationContext.xml");        StudentService service = (StudentService) context.getBean("service");        List<Student> list = service.findStudents();        for (Student student : list) {            System.out.println(student);        }    }}
测试代码

 

spring07 JDBC