Java Spring JDBC访问数据库
一、首先采用org.springframework.jdbc.datasource.DriverManagerDataSource类进行实现
1.applicationContext.xml配置如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="username" value="root"/>
<property name="password" value="zdsoft"/>
<property name="url" value="jdbc:mysql://172.23.88.107:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/>
</bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
2.Java的代码如下:
public static void main(String[] args) {
    AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    JdbcTemplate jdbcTemplate = (JdbcTemplate) ctx.getBean("jdbcTemplate");
    String sql = "select * from stat_app";
    jdbcTemplate.query(sql, new RowCallbackHandler() {
        @Override
        public void processRow(ResultSet rset) throws SQLException {
            System.out.println(rset.getString("source_market") + "\t" + rset.getString("violations_type"));
        }
    });
}
说明:
①mysql的url配置中需要注意编码和时区,不然会出现报错。同时&符号必须使用&转义。如果独立成properties就不需要了转义了。
②查询的数据进入processRow里面,每行数据都会调用一次这个方法。
二、使用org.apache.commons.dbcp.BasicDataSource类进行实现
1.首先需要引用jar包,pom.xml如下:
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
2.applicationContext.xml配置如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="username" value="root"/>
<property name="password" value="zdsoft"/>
<property name="url" value="jdbc:mysql://172.23.88.107:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/>
</bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
Java代码就和上面一样了。没什么区别。BasicDataSource多了一个close方法,可以自动管理连接对象。
三、将数据库配置独立出来。上面的配置如果想要把数据库相关配置独立为db.properties。可以首先创建文件db.properties,内容如下:
jdbc.url=jdbc:mysql://172.23.88.107:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
jdbc.driver=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=zdsoft
然后applicationContext.xml配置如下:
<!-- 导入配置文件 -->
<context:property-placeholder location="classpath:db.properties" /> <!-- 配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
Java Spring JDBC访问数据库的更多相关文章
- Spring学习(四)——使用Spring JDBC访问数据库
		本篇我们将在上一篇http://www.cnblogs.com/wenjingu/p/3824294.html的Demo程序的基础上增加数据持久层和业务层,实现登录验证功能. 1.修改gradle文件 ... 
- Java基础-JDBC访问数据库
		基本步骤: 加载数据库驱动 建立连接 创建SQL语句 执行SQL语句 处理执行结果 释放资源 代码示例: import java.sql.Connection; import java.sql.Dri ... 
- java通过JDBC访问数据库(最基本的查询)
		一.步骤介绍 1.通过Class.forName()加载驱动: 2.通过DriverManager.getConnection()获取Conncetion连接对象: 3.创建Statement对象传递 ... 
- java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)
		一.Jdbc访问数据库步骤通俗解释(吃饭) 1)加载驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer”); 2) 与数据库建立连接 Co ... 
- 如何通过JDBC访问数据库
		Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ... 
- Jdbc访问数据库篇
		一万年太久,只争朝夕 What JDBC 上部 JDBC(Java DataBase Connectivity)Java 数据库连接,主要提供编写 Java 数据库应用程序的 API 支持 java. ... 
- java通过jdbc访问mysql,update数据返回值的思考
		java通过jdbc访问mysql,update数据返回值的思考 先不说那么多,把Java代码贴出来吧. public static void main(String[] args) throws I ... 
- javaweb三、JDBC访问数据库
		JDBC是J2SE的内容,是由java提供的访问数据库的接口,但没有提供具体的实现方法,需要数据库厂商提供,就是对应的数据库驱动. 这样的好处是可以方便的更换数据库,提高了扩展性.这也是面向接口编程的 ... 
- JDBC访问数据库的具体步骤(MySql  + Oracle + SQLServer)
		* 感谢DT课堂颜群老师的视频讲解(讲的十分仔细,文末有视频链接) import java.sql.Connection; import java.sql.DriverManager; import ... 
随机推荐
- 11:vue-cli脚手架
			1.1 vue-cli基本使用 官网: https://github.com/vuejs/vue-cli 1.简介 vue-cli 是一个vue脚手架,可以快速构造项目结构 vue-cli 本身集成了 ... 
- 01:adminLTE2基本使用
			1.1 adminLTE介绍 1.adminLTE 介绍 1.基于Bootstrap3高度可定制的响应式管理模板,免去前端架构师大量的js和css的编写 2.adminLTE除了可以使用bootstr ... 
- tr 命令用法
			tr a. 替换全部字符 [root@bogon scripts]# tr [a-z] [A-Z] < /etc/fstab 将读出的结果全部替换成大写字母 (取一行作为展示效果) ... 
- CEF 添加F5刷新快捷键
			Keyboardcodes:https://www.androidos.net.cn/android/4.3_r1/xref/external/webkit/Source/WebCore/platfo ... 
- C语言动态链表数据结构
			链表的操作增删改查 typedef int DATA; struct SNode { DATA data; SNode* pNext; }; SNode* g_head=NULL;//全局变量 //从 ... 
- Navicat for MySQL安装工具及破解工具
			链接: http://pan.baidu.com/s/1i500eEh 密码: 9s26 
- linux内核中的fuse是什么?
			答: 一个用户态文件系统框架,属于内核的一种特性. 1.组成部分 fuse.ko(内核模块) + libfuse.*(用户空间库) + fusemount(挂载工具) 2.参考资料 fuse.txt 
- HihoCoder 1636 Pangu and Stones(区间DP)题解
			题意:合并石子,每次只能合并l~r堆成1堆,代价是新石堆石子个数,问最后能不能合成1堆,不能输出0,能输出最小代价 思路:dp[l][r][t]表示把l到r的石堆合并成t需要的最小代价. 当t == ... 
- GDOI2018D2T1 谈笑风生
			T1 谈笑风生 [题目描述] [输入] [输出] 一行两个数,所需能量P与在能量最小的前提下最短的到达时间t. [样例输入] 5 7 66 4 3 2 1 5 1 2 1 5 2 3 2 4 2 5 ... 
- SQLServer2014 安装错误:等待数据库引擎恢复句柄失败
			查了很多资料最后靠百度百科里的一票报道彻底解决困难.在次发表一下以便给后人排忧解难 已下为百度连接 https://jingyan.baidu.com/article/7908e85cb24c19af ... 
