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对象中
转载于:https://www.cnblogs.com/cage666/p/7295382.html
Jdbc模版式写法与Spring-JdbcTemplate的比较相关推荐
- Spring JdbcTemplate示例
Spring JdbcTemplate示例 Spring JdbcTemplate是Spring JDBC包中最重要的类. 目录[ 隐藏 ] 1 Spring JdbcTemplate 1.1 Spr ...
- jdbc mysql 返回游标_使用JdbcTemplate流式(游标)读取数据库
前言 生产环境中经常使用数据库分页的方式来控制一次获取的数据量,而数据处理中经常会有另外一种场景: 从一个数据库表中读取所有数据进行处理并将结果保存在其他数据库或文件或NoSql数据库中. 这时候也可 ...
- 06_02_任务三:Spring JDBCTemplate 声明式事务
任务三:Spring JDBCTemplate & 声明式事务 课程任务主要内容: Spring的JdbcTemplate Spring的事务 Spring集成web环境 一 Spring的J ...
- Spring JdbcTemplate方法详解
2019独角兽企业重金招聘Python工程师标准>>> Spring JdbcTemplate方法详解 标签: springhsqldbjava存储数据库相关sql 2012-07- ...
- Spring JdbcTemplate的queryForList(String sql , ClassT elementType)易错使用--转载
原文地址: http://blog.csdn.net/will_awoke/article/details/12617383 一直用ORM,今天用JdbcTemplate再次抑郁了一次. 首先看下这个 ...
- 转载:为什么使用ibatis而不用spring jdbcTemplate
第一:ibatis仅仅是对jdbc薄薄的一层封装,完全不丧失sql的灵活性 第二:ibatis所有的sql都可以放在配置文件中,这样有利于sql的集中管理,特别是在sql tuning是很容易把得到所 ...
- php sql 条件拼组_ThinkPHP框架SQL操作链式写法原理(浅显易懂)
引言 大家如果有面试几次不难发现,虽然国产的TP一直被人诟病.但是丝毫不能影响它在广大企业中的开发受到青睐,强大的社区,暴力实用详细的中文手册.有一个地方相信大家都不陌生,就是他的链式写法,链式写法的 ...
- 【SSM框架系列】Spring - JdbcTemplate声明式事务
JdbcTemplate概述 以往使用jdbc时,每次都需要自己获取PreparedStatement,执行sql语句,关闭连接等操作.操作麻烦冗余,影响编码的效率. Spring把对数据库的操作在j ...
- Spring JdbcTemplate+JdbcDaoSupport实例
在Spring JDBC开发中,可以使用 JdbcTemplate 和 JdbcDaoSupport 类来简化整个数据库的操作过程. 在本教程中,我们将重复上一篇文章Spring+JDBC例子,看之前 ...
最新文章
- 说说牛顿迭代 -- 方法篇
- 1019 General Palindromic Number (20分)_18行代码AC
- 详解Paint的setColorFilter(ColorFilter filter)
- 高斯低通滤波 matlab_一维和二维高斯函数及其一阶和二阶导数
- android微信照片未发送成功,解决Android整合微信分享无法发送图片问题
- 轻松熊喵喵个人笔记 -- java学习路线记录
- 一篇适合小白的Shiro教程
- 教你快速录制gif动图
- 马斯克血洗推特!传机器学习裁员90%,团队直接解散
- 深度清理电脑垃圾软件 如何深度清理电脑垃圾
- 使用pathogen安装vim插件nerdtreee
- C语言:输出大写的三角形字母表(进阶)
- 使用maya.cmds加载和卸载插件
- 小学计算机课题研究方案,《小学信息技术课堂有效教学的探究》课题研究方案...
- 音视频开发(十九):运算符重载、继承、多态、模版
- 《微信小程序案例12》图片识别功能
- 2023年湖北武汉中级工程师怎么申请?申报渠道有哪些?启程别
- IP安全:DDoS攻击、tearDrop攻击和微小碎片攻击
- linux标准学习之-LSB
- 集成微信支付后每次打开app都会跳转到微信显示正在连接