Jdbc模版式写法与Spring-JdbcTemplate的比较
一、Jdbc模版式写法:
【流程】
- 加载驱动
- 获取数据库链接
- 创建Statement对象(用于发送sql语句)
- 向数据库发送sql语句,获取数据库返回的结果集
- 从结果集中获取数据
- 释放资源
- 上述部分用try-catch-finally语句包围
String driver = "com.mysql.jdbc.Driver";//更改驱动时修改字符串即可
Class.forName(driver); //加载com.mysql.jdbc.Driver类
Connection conn = DriverManager.getConnection(url, username, password);
driver = com.mysql.jdbc.Driver
url = jdbc:mysql:\\localhost:3306\student
username = root
password = root
Properties prop = new Properties();
prop.load(JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties"));//载入db.properties
Class.forName(prop.getProperty(driver));
Connnection conn = DriverManager.getConnection(prop.getProperty(url),prop.getProperty(username),prop.getProperty(password));
Statement st = conn.createStatement();
String sql = "SELECT name FROM student WHERE id = 1";
ResultSet rs = st.excuteQuery(sql);
String name = null;
while(rs.next()) {
name = rs.getString("name");
}
6.释放资源
- 释放rs:rs.close();
- 释放st:st.close();
- 关闭数据库链接:conn.close();
driver = com.mysql.jdbc.Driver
url = jdbc:mysql:\\localhost:3306\student
username = root
password = root
<context:property-placeholder location="classpath:db.properties"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
<property name="driver" value="${driver}"></property>
<property name="url" value="${url}"></property>
</bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
ApplicationContext apc = new ClassPathXmlApplicationContext("applicationContext.xml");
JdbcTemplate jdbcTemplate = (JdbcTemplate) apc.getBean("jdbcTemplate");
String sql = "select id,name,school from student where id=? "; //sql语句
RowMapper<Student> rowMapper = new BeanPropertyRowMapper<Student>(Student.class); //通过Student创建RowMapper实例【为了高性能,应自定义RowMapper(复写mapRow方法)而不是利用现成类】
Student stu = jdbcTemplate.queryForObject(sql,rowMapper,20); //查询id为20的那一行数据,将结果存入到rowMapper对象中
Jdbc模版式写法与Spring-JdbcTemplate的比较的更多相关文章
- Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成
介绍:Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排运行以生成标准的JDBC结果集. 直接使用HBase API.协同处理器与自己定义过滤器.对于简单查询来说,其性能 ...
- 使用Spring JDBCTemplate简化JDBC的操作
使用Spring JDBCTemplate简化JDBC的操作 接触过JAVA WEB开发的朋友肯定都知道Hibernate框架,虽然不否定它的强大之处,但个人对它一直无感,总感觉不够灵活,太过臃肿了. ...
- Spring JDBC模版以及三种数据库连接池的使用
jar包版本有点乱,直接忽略版本号,将就一下. 这里引了aop包是因为在spring3版本之后用模版对数据库库操作时会出现问题,但是不会报错,也没有提示. 所以这里直接引入,以及之后会用到的DBCP与 ...
- 十九 Spring的JDBC模版使用: 模版的CRUD的操作
Spring的JDBC模版使用: 模版的CRUD的操作 保存操作 修改操作 删除操作 查询操作 import com.ithheima.jdbc.domian.Account; @RunWith(Sp ...
- 十六 Spring的JDBC模版入门,默认连接池
Spring是EE开发一站式框架,有EE开发的每层的解决方案,Spring对持久层也提供了解决方案:ORM模块和JDBC的模版
- 【Spring】Spring的数据库开发 - 1、Spring JDBC的配置和Spring JdbcTemplate的解析
Spring JDBC 文章目录 Spring JDBC Spring JdbcTemplate的解析 Spring JDBC的配置 简单记录-Java EE企业级应用开发教程(Spring+Spri ...
- [转]Spring JdbcTemplate 查询分页
原文:http://blog.csdn.net/xiaofanku/article/details/4280128 现在进行的项目由于数据库的遗留原因(设计的不堪入目)不能用hibernate.所以用 ...
- Spring JdbcTemplate 的使用与学习(转)
紧接上一篇 (JdbcTemplate是线程安全的,因此可以配置一个简单的JdbcTemplate实例,将这个共享的实例注入到多个DAO类中.辅助的文档) Spring DAO支持 http://ww ...
- Spring JdbcTemplate框架搭建及其增删改查使用指南
Spring JdbcTemplate框架搭建及其增删改查使用指南 前言: 本文指在介绍spring框架中的JdbcTemplate类的使用方法,涉及基本的Spring反转控制的使用方法和JDBC的基 ...
随机推荐
- 【LeetCode】225. Implement Stack using Queues
题目: Implement the following operations of a stack using queues. push(x) -- Push element x onto stack ...
- 【Android Developers Training】 64. 绘制形状
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- redis可视化工具redisClient
下载连接:百度网盘 直接解压就可以用了
- MAC 相关操作解析
MAC 相关操作解析 OS 显示桌面 f11 F1~F12 fn + F1~F12 撤销重做 command + z command + shift + z 图片预览 选择图片 空格 上下左右 svn ...
- JavaScript 语言基础
js语言基础 一 基本知识 UniCode编码 区分大小写(HTML不区分/XHTML区分) Unicode转义序列 \uxxxx (\u加4位16进制表示) 注释 单行注释:// 多行注释:/* * ...
- Scratch2的离线下载与安装
scratch是一种程序设计语言,可以用来设计 故事.动画.游戏.音乐和美术作品. Scratch主页:https://scratch.mit.edu/ Scratch的下载与安装: 首先下载并安装A ...
- 简单的线性回归问题-TensorFlow+MATLAB·
首先我们要试验的是 人体脂肪fat和年龄age以及体重weight之间的关系,我们的目标就是得到一个最优化的平面来表示三者之间的关系: TensorFlow的程序如下: import tensorfl ...
- data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
在上一节的例子中 volume container 的数据归根到底还是在 host 里,有没有办法将数据完全放到 volume container 中,同时又能与其他容器共享呢? 当然可以,通常我们称 ...
- 【Data Visual】一文搞懂matplotlib数据可视化
一文搞懂matplotlib数据可视化 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为 ...
- Intellij Idea配置说明(从Eclipse转Idea)
1.idea的字体大小设置 字体大小设置的方法: 进入Settings>>Editor>>Colors&Fonts>>Font,改变Size大小. 2. ...