Spring(七)--Spring JDBC
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的更多相关文章
- Spring使用原生JDBC
Spring使用原生JDBC 为加深对Spring解耦的理解,本次实验学习用Spring连接JDBC 一.POM配置文件 pom.xml <project xmlns="http:// ...
- Spring框架的JDBC模板技术和事物
Spring框架的JDBC模板技术 技术分析之Spring框架的JDBC模板技术概述 1. Spring框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单 ...
- Spring 中的 JDBC 事务
Spring 对 JDBC 的支持 JdbcTemplate 简介 •为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架. • ...
- 使用Spring JDBCTemplate简化JDBC的操作
使用Spring JDBCTemplate简化JDBC的操作 接触过JAVA WEB开发的朋友肯定都知道Hibernate框架,虽然不否定它的强大之处,但个人对它一直无感,总感觉不够灵活,太过臃肿了. ...
- 【转】在Spring中基于JDBC进行数据访问时怎么控制超时
http://www.myexception.cn/database/1651797.html 在Spring中基于JDBC进行数据访问时如何控制超时 超时分类 超时根据作用域可做如下层级划分: Tr ...
- spring框架总结(04)----介绍的是Spring中的JDBC模板
1.1 Jdbc模板概述 它是spring框架中提供的一个对象,是对原始Jdbc API对象的简单封装.spring框架为我们提供了很多的操作模板类,入下图所示: 我们今天的主角在spring-jd ...
- Spring 对JDBC操作的支持
1.Spring 对JDBC操作的支持 Spring对jdbc技术提供了很好的支持,体现在: 1.Spring对c3p0连接池的支持很完善 2.Spring对jdbc提供了jdbcTemplate,来 ...
- Spring中使用JDBC
Spring中的数据库异常体系 使用JDBC(不使用Spring)的时候,我们需要强制捕获SQLException,否则无法使用JDBC处理任何事情.SQLException表示尝试访问数据库的时候出 ...
- Spring Boot 整合JDBC 实现后端项目开发
一.前言 二.新建Spring Boot 项目 三.Spring Boot 整合JDBC 与MySQL 交互 3.1 新建数据表skr_user 3.2 Jdbcproject 项目结构如下 3.3 ...
- Spring框架学习(3)spring中使用jdbc
内容源自:spring中使用jdbc spring dao层中对jdbc进行了封装,使用模板模式的设计模式,通过ioc被动注入的方式将jdbcTemplate这个模板类注入到数据对象中,进行数据库操作 ...
随机推荐
- ubuntu1804 安装Nvidia驱动-nvidia-docker
操作 看显卡 lspci | grep N 01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2) 0 ...
- js 创建节点 以及 节点属性 删除节点
case 'copy': var B1 = document.getElementById("B1"); //获得B1下的html文本 var copy_dom = documen ...
- border-box与content-box的区别
㈠box-sizing 属性 ⑴box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素. ⑵语法:box-sizing: content-box|border-box|inherit; ...
- JavaScript生成随机数的方法
一,函数 Math.ceil(); //向上取整. Math.floor(); //向下取整. Math.round(); //四舍五入. Math.random(); //0.0 ~ 1.0 ...
- jquery enabled选择器 语法
jquery enabled选择器 语法 作用::enabled 选择器选取所有启用的表单元素.大理石平台精度等级 语法:$(":enabled") jquery enabled选 ...
- B/S文件上传下载解决方案
需求: 项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在20G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以20G来进行限制. PC端全平台支持,要求支持Window ...
- 【PKUSC2019】树染色【线段树合并】【树形DP】
Description 给出一棵n个点的树,现在有m种颜色,要给每个节点染色,相邻节点不能同色. 另外有k条限制,形如x号点不能为颜色y 同一节点有可能有多条限制. 求方案数对998244353取模的 ...
- cogs2039树的统计 x
2039. 树的统计 ★★ 输入文件:counttree.in 输出文件:counttree.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 关于树的统计问题 ...
- python 手动拼接json数据
第一步:分别拼接为字符串 第二步:将字符串转化为list 第三歩:将两个list合并为dict 第四步:将dict转换为接送数据 如: import json keys = ['a', 'b', ' ...
- 在mac中,npm安装或者卸载失败,提示没有权限
在终端输入 sudo chown -R $USER /usr/local 输入开机密码