Spring JDBC

1.需要的实体类和数据库

2.需要的dao层

 package com.xdf.dao;

 import com.xdf.bean.Student;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport; import java.io.Serializable;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List; /**
* dao的实现类
* 书写sql
* JdbcDaoSupport====>BaseDao
* JdbcDaoSupport有两个重要的属性
* 01.jdbcTemplate 模版
* 02.需要 dataSource ===>数据源
*
* JdbcDaoSupport 所有的增删改 都是update
* 查询是query
*
*/
public class StudentDaoImpl extends JdbcDaoSupport implements StudentDao { public int add(Student student) {
String sql="insert into student values(?,?)";
return getJdbcTemplate().update(sql,student.getsId(),student.getsName());
} public int del(Serializable id) {
String sql="delete from student where sid=?";
return getJdbcTemplate().update(sql,id);
} public int update(Student student) {
String sql="update student set sname=? where sid=?";
return getJdbcTemplate().update(sql,student.getsName(),student.getsId());
} public List<Student> getAll() {
String sql="select * from student";
//使用匿名内部类
return getJdbcTemplate().query(sql,new RowMapper<Student>(){
/**
* 这里的ResultSet是返回一个对象!
* 我们之前使用的是 一个结果集!
*/
public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
//创建student对象 依次返回
Student student=new Student();
student.setsId(rs.getInt("sid"));
student.setsName(rs.getString("sname"));
return student;
}
});
}
}

3.需要的service层

 package com.xdf.service;

 import com.xdf.bean.Student;
import com.xdf.dao.StudentDao; import java.io.Serializable;
import java.util.List; public class StudentServiceImpl implements StudentService { //交给spring容器实例化dao层对象
private StudentDao dao; public StudentDao getDao() {
return dao;
} public void setDao(StudentDao dao) {
this.dao = dao;
} public int add(Student student) {
return dao.add(student);
} public int del(Serializable id) {
return dao.del(id);
} public int update(Student student) {
return dao.update(student);
} public List<Student> getAll() {
return dao.getAll();
}
}

4.需要的jdbc.properties

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"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
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">
<!--引入需要的jdbc.properties文件-->
<context:property-placeholder location="classpath:jdbc.properties"/> <!--01.使用spring自带的数据源
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.userName}"/>
<property name="password" value="${jdbc.password}"/>
</bean>--> <!--02.使用c3p0自带的数据源
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.userName}"/>
<property name="password" value="${jdbc.password}"/>
</bean>--> <!--03.使用dbcp自带的数据源-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.userName}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!--配置dao层对象-->
<bean id="studentDao" class="com.xdf.dao.StudentDaoImpl">
<property name="dataSource" ref="dataSource"/>
</bean> <!-- 配置service层对象-->
<bean id="studentService" class="com.xdf.service.StudentServiceImpl">
<property name="dao" ref="studentDao"/>
</bean>
</beans>

6.测试类

    未完待续!!!

Spring(七)--Spring JDBC的更多相关文章

  1. Spring使用原生JDBC

    Spring使用原生JDBC 为加深对Spring解耦的理解,本次实验学习用Spring连接JDBC 一.POM配置文件 pom.xml <project xmlns="http:// ...

  2. Spring框架的JDBC模板技术和事物

    Spring框架的JDBC模板技术         技术分析之Spring框架的JDBC模板技术概述  1. Spring框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单     ...

  3. Spring 中的 JDBC 事务

    Spring 对 JDBC 的支持 JdbcTemplate 简介 •为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架. • ...

  4. 使用Spring JDBCTemplate简化JDBC的操作

    使用Spring JDBCTemplate简化JDBC的操作 接触过JAVA WEB开发的朋友肯定都知道Hibernate框架,虽然不否定它的强大之处,但个人对它一直无感,总感觉不够灵活,太过臃肿了. ...

  5. 【转】在Spring中基于JDBC进行数据访问时怎么控制超时

    http://www.myexception.cn/database/1651797.html 在Spring中基于JDBC进行数据访问时如何控制超时 超时分类 超时根据作用域可做如下层级划分: Tr ...

  6. spring框架总结(04)----介绍的是Spring中的JDBC模板

    1.1  Jdbc模板概述 它是spring框架中提供的一个对象,是对原始Jdbc API对象的简单封装.spring框架为我们提供了很多的操作模板类,入下图所示: 我们今天的主角在spring-jd ...

  7. Spring 对JDBC操作的支持

    1.Spring 对JDBC操作的支持 Spring对jdbc技术提供了很好的支持,体现在: 1.Spring对c3p0连接池的支持很完善 2.Spring对jdbc提供了jdbcTemplate,来 ...

  8. Spring中使用JDBC

    Spring中的数据库异常体系 使用JDBC(不使用Spring)的时候,我们需要强制捕获SQLException,否则无法使用JDBC处理任何事情.SQLException表示尝试访问数据库的时候出 ...

  9. Spring Boot 整合JDBC 实现后端项目开发

    一.前言 二.新建Spring Boot 项目 三.Spring Boot 整合JDBC 与MySQL 交互 3.1 新建数据表skr_user 3.2 Jdbcproject 项目结构如下 3.3 ...

  10. Spring框架学习(3)spring中使用jdbc

    内容源自:spring中使用jdbc spring dao层中对jdbc进行了封装,使用模板模式的设计模式,通过ioc被动注入的方式将jdbcTemplate这个模板类注入到数据对象中,进行数据库操作 ...

随机推荐

  1. wx小程序知识点(一)

    一.微信小程序中的目录及文件 (1)project.config.json 用于开发者工具配置 主要用于设置项目是否开启https校验(setting.urlCheck) (2) App.js 设置全 ...

  2. AOP 实现日志

    package com.foen.foensys.config; import com.alibaba.fastjson.JSON;import com.foen.foensys.model.SysL ...

  3. JavaScript 正则表达式——对象,修饰符,元字符,字符类,范围类

    ㈠RegExp 对象 ⑴JavaScript通过内置对象RegExp支持正则表达式   ⑵有两种方法实例化RegExp对象   ①字面量        ②构造函数   ⑶字面量示例 示例1:  你会发 ...

  4. Java多线程和并发(九),ReentrantLock(公平锁)

    目录 1.ReentrantLock 2.ReentrantLock的实现 3.synchronized和ReentrantLock的区别 九.ReentrantLock(公平锁) 1.Reentra ...

  5. 格子游戏x(并查集)

    格子游戏 [问题描述] Alice和Bob玩了一个古老的游戏:首先画一个n * n的点阵(下图n = 3) 接着,他们两个轮流在相邻的点之间画上红边和蓝边:           直到围成一个封闭的圈( ...

  6. Unity3D_(游戏)双人3D坦克_简易版

    双人3D坦克实现 player1: WSAD控制上下左右 空格键发射炮弹 player2: IKJL可控制上下左右 B键发射炮弹 每个坦克只有100hp,子弹击中1次扣30hp,hp时时显示在坦克上 ...

  7. 客户端框架-MVP

    MVP Model-View-Presenter MVP是把MVC中的Controller换成了Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当 ...

  8. [CSP-S模拟测试]:陶陶摘苹果(线段树维护单调栈)

    题目传送门(内部题116) 输入格式 第一行两个整数$n,m$,如题 第二行有$n$个整数表示$h_1-h_n(1\leqslant h_i\leqslant 10^9)$ 接下来有$m$行,每行两个 ...

  9. java链接Mysql出现警告:Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by

    Java使用mysql-jdbc连接MySQL出现如下警告: Establishing SSL connection without server's identity verification is ...

  10. mybatis plus 报错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 少了个范型