Spring与DAO——环境搭建
来源:互联网 发布:开淘宝的经验分享 编辑:程序博客网 时间:2024/05/16 15:01
Spring与JDBC模板
为了避免直接使用JDBC而带来的复杂且冗长的代码,Spring提供了一个强有力的模板类—JdbcTemplate来简化JDBC操作。并且,数据源DataSource对象与模板JdbcTemplate对象均可通过Bean的形式定义在配置文件中,充分发挥了依赖注入的威力。
jar准备:
Spring 基本 jar spring-beans-4.2.1.RELEASE.jar spring-context-4.2.1.RELEASE.jar spring-core-4.2.1.RELEASE.jar spring-expression-4.2.1.RELEASE.jar 日志 commons-logging-1.2.jar log4j-1.2.17.jar jdbc支持 spring-jdbc-4.2.1.RELEASE.jar 事务支持 spring-tx-4.2.1.RELEASE.jar Mysql驱动 mysql-connector-java-5.1.7-bin.jar 数据源——c3p0/dbcp c3p0-0.9.1.2.jar commons-dbcp2-2.1.1.jar pool commons-pool2-2.4.2.jar
所有jar都在这:http://pan.baidu.com/s/1jIxBIa6
创建一个Java Project
创建一个实体类(Student.java):
package com.hk.springdao.beans;public class Student { private Integer id; private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student [id=" + id + ", name=" + name + ", age=" + age + "]"; }}
创建数据库表(t_student)
SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `t_student`-- ----------------------------DROP TABLE IF EXISTS `t_student`;CREATE TABLE `t_student` ( `t_id` int(5) NOT NULL AUTO_INCREMENT, `t_age` int(3) DEFAULT NULL, `t_name` varchar(20) DEFAULT NULL, PRIMARY KEY (`t_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
业务接口(IStudentService.java)
package com.hk.springdao.service;import java.util.List;import com.hk.springdao.beans.Student;/** * * @author 浪丶荡 * */public interface IStudentService { //增加学生 public void addStudent(Student stu); //修改学生 public void modifyStudent(Student stu); //删除学生 public void removeStudent(int stuID); //查询单个学生 public Student findStuByStuID(int stuID); //查询所有学生 public List<Student> findAllStudents(); //查询单个学生姓名 public String findStudentNameByID(int stuID); //查询所有学生姓名 public List<String> findAllStuentNames();}
dao层接口(IStudentDAO.java)
package com.hk.springdao.dao;import java.util.List;import com.hk.springdao.beans.Student;public interface IStudentDAO { //增加学生 public void insertStudent(Student stu); //修改学生 public void updateStudent(Student stu); //删除学生 public void deleteStudent(int stuID); //查询学生 public Student selectStuByStuID(int stuID); public List<Student> selectAllStudents(); public String selectStudentNameByID(int stuID); public List<String> selectAllStuentNames();}
dao层接口实现(IStudentDAOImpl.java)
package com.hk.springdao.daoimpl;import java.util.List;import org.springframework.jdbc.core.support.JdbcDaoSupport;import com.hk.springdao.beans.Student;import com.hk.springdao.dao.IStudentDAO;public class IStudentDAOImpl extends JdbcDaoSupport implements IStudentDAO { @Override public void insertStudent(Student stu) { String sql = "insert into t_student(t_name,t_age) values(?,?)"; this.getJdbcTemplate().update(sql , stu.getName(),stu.getAge()); } @Override public void updateStudent(Student stu) { String sql = "update t_student set t_age= ?,t_name=? where t_id = ?"; this.getJdbcTemplate().update(sql , stu.getAge(),stu.getName(),stu.getId()); } @Override public void deleteStudent(int stuID) { String sql = "delete from t_student where t_id = ?;"; this.getJdbcTemplate().update(sql , stuID); } @Override public Student selectStuByStuID(int stuID) { String sql = "select * from t_student where t_id = ?"; return null; } @Override public List<Student> selectAllStudents() { return null; } @Override public String selectStudentNameByID(int stuID) { return null; } @Override public List<String> selectAllStuentNames() { return null; }}
业务接口实现(StudentServiceImpl.java)
package com.hk.springdao.serviceimpl;import java.util.List;import com.hk.springdao.beans.Student;import com.hk.springdao.dao.IStudentDAO;import com.hk.springdao.service.IStudentService;public class StudentServiceImpl implements IStudentService { private IStudentDAO studentDao; public void setStudentDao(IStudentDAO studentDao) { this.studentDao = studentDao; } @Override public void addStudent(Student stu) { studentDao.insertStudent(stu); } @Override public void modifyStudent(Student stu) { studentDao.updateStudent(stu); } @Override public void removeStudent(int stuID) { studentDao.deleteStudent(stuID); } @Override public Student findStuByStuID(int stuID) { return studentDao.selectStuByStuID(stuID); } @Override public List<Student> findAllStudents() { return studentDao.selectAllStudents(); } @Override public String findStudentNameByID(int stuID) { return studentDao.selectStudentNameByID(stuID); } @Override public List<String> findAllStuentNames() { return studentDao.selectAllStuentNames(); }}
配置文件(applicationContext.xml)
<?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" 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"> <!-- 注册数据源 (Spring内置数据源)--> <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name= "driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean> --> <!-- 注册数据源 (DBCP数据源)--> <!-- <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"> <property name= "driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean> --> <!-- 注册数据源 (C3P0数据源)--> <!-- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name= "driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/test"></property> <property name="user" value="root"></property> <property name="password" value="123456"></property> </bean> --> <!-- 注册数据源 (C3P0数据源) 从jdbc.properties中获取属性--> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name= "driverClass" value="${jdbc.driver}"></property> <property name="jdbcUrl" value="${jdbc.url}"></property> <property name="user" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean> <!-- 注册jdbc属性文件(jdbc.properties) [不常用]--> <!-- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:jdbc.properties"></property> </bean> --> <!-- 注册jdbc属性文件 方法二需要context约束 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 注册jdbc模板对象 --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 注册DAO --> <bean id="dao" class="com.hk.springdao.daoimpl.IStudentDAOImpl"> <property name="jdbcTemplate" ref="jdbcTemplate"></property> </bean> <!-- 注册Service --> <bean id="studentService" class="com.hk.springdao.serviceimpl.StudentServiceImpl"> <property name="studentDao" ref="dao"></property> </bean></beans>
测试
public class MyTest { @Test public void testAdd(){ String resouce = "applicationContext.xml"; ApplicationContext ac = new ClassPathXmlApplicationContext(resouce); IStudentService studentService = (IStudentService) ac.getBean("studentService"); Student stu = new Student("胡浪",18); studentService.addStudent(stu ); }}
0 0
- Spring与DAO——环境搭建
- Struts 2 + Hibernate + Spring 开发环境的搭建与数据访问Dao的生成
- ssh环境搭建——spring与hibernate整合
- 【Spring】——环境搭建
- ssh环境配置——搭建spring环境
- 移动商城第三篇【搭建Mybatis和Spring环境、编写Dao、Service在Core模块】
- spring mvc与Mybatis整合——(二)mybatis环境搭建
- 搭建与测试Spring的开发环境
- 传智播客 Spring基本概念介绍与环境搭建
- 搭建与测试Spring的开发环境
- 搭建与测试Spring的开发环境
- apache shiro与spring的环境搭建
- Spring MVC Maven 环境搭建与部署
- Spring环境搭建与输出“Hello world”
- Spring与MyBatis搭建集成环境
- Spring 环境搭建与IoC和AOP
- Spring MVC环境搭建与基本操作
- 搭建与测试Spring的开发环境
- 【转】Tomcat启动慢解决方案
- AndroidFFmpeg
- String中的equals方法
- forward内部跳转 和redirect重定向跳转的区别
- 微信分享失败
- Spring与DAO——环境搭建
- Android Studio非法字符'\ufeff'问题
- SDN控制器Floodlight源码学习(三)--控制器和交换机交互(1)
- 源码解读(一): spring在web容器中的初始化过程
- pom.xml和conf/settings.xml
- JAVA——Object类
- Delphi 日期格式转换
- JPA入门例子(采用JPA的hibernate实现版本)
- STL-vector容器用法