简单Spring整合JdbcTemplate
实体类:
public class User implements Serializable{
private Integer id;
private String username;
private String password;
public Integer getId() {
return id;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public void setId(Integer id) {
this.id = id;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
}
}
UserDao接口
public interface UserDao {
/**
* 增加用户
*/
Integer addUser(User user);
/**
* 修改用户信息
*/
Integer updateUser(User user);
/**
* 查询用户
*/
List<User> findAll();
}
UserDaoImpl实现类
JdbcTemplate提供一种更简单的方式“update(String sql, Object... args)”来实现设值!
RowMapper接口提供mapRow(ResultSet rs, int rowNum)方法来获取数据库得到的结果集
@Repository(value="userDaoImpl")
public class UserDaoImpl implements UserDao{
/**
* 添加用户
*/
@Resource(name="jt")
private JdbcTemplate jt;
@Override
public Integer addUser(User user) {
//获取连接数据
Object obj[] = {user.getUsername()};
return jt.update("insert into user values(null,?)",obj);
} @Override
public Integer updateUser(User user) {
Object obj[] = {user.getUsername()};
return jt.update("update user set username=?",obj);
} @Override
public List<User> findAll() {
return jt.query("select * from user",new RowMapper<User>() {
@Override
public User mapRow(ResultSet rs, int arg1) throws SQLException {
User user = new User();
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
return user;
}
});
} }
测试类:
@Test
public void Test2() {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//ComboPooledDataSource spd = (ComboPooledDataSource) ac.getBean("cpd"); UserDao ud = (UserDaoImpl) ac.getBean("userDaoImpl");
List<User> list = ud.findAll();
for (User user : list) {
System.out.println(user);
}
}
applicationContext.xml配置文件:
<!-- 使用注解实现 -->
<!--创建c3p0对象-->
<bean id="cpd" class=" com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/myuser"></property>
<property name="user" value="root"></property>
<property name="password" value="123456"></property>
</bean>
<!--创建jdbcTemplate对象-->
<bean id="jt" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="DataSource" ref="cpd"></property>
</bean>
<!--开启注解扫描-->
<context:component-scan base-package="com.spring"></context:component-scan>
简单Spring整合JdbcTemplate的更多相关文章
- Spring整合JDBC实现简单的增删改
Spring整合JDBC实现简单的增删改: 1.导入Spring的包和数据库的驱动包: 2.选择一个数据源(dbcp和C3P0) 3.导入数据源的包(这里我们使用dbcp) <span styl ...
- Spring Boot2 系列教程(二十)Spring Boot 整合JdbcTemplate 多数据源
多数据源配置也算是一个常见的开发需求,Spring 和 SpringBoot 中,对此都有相应的解决方案,不过一般来说,如果有多数据源的需求,我还是建议首选分布式数据库中间件 MyCat 去解决相关问 ...
- 简单探讨spring整合mybatis时sqlSession不需要释放关闭的问题
https://blog.csdn.net/RicardoDing/article/details/79899686 近期,在使用spring和mybatis框架编写代码时,sqlSession不需要 ...
- Spring的jdbcTemplate 与原始jdbc 整合c3p0的DBUtils 及Hibernate 对比 Spring配置文件生成约束的菜单方法
以User为操作对象 package com.swift.jdbc; public class User { private Long user_id; private String user_cod ...
- Spring Boot:整合JdbcTemplate
综合概述 Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具.我们可以借助JdbcTemplate来执行所有数据库操作 ...
- spring整合apache-shiro的简单使用
这里不对shiro进行介绍,介绍什么的没有意义 初学初用,不求甚解,简单使用 一.导入jar包(引入坐标) <!--shiro和spring整合--> <dependency> ...
- 手写Mybatis和Spring整合简单版示例窥探Spring的强大扩展能力
Spring 扩展点 **本人博客网站 **IT小神 www.itxiaoshen.com 官网地址****:https://spring.io/projects/spring-framework T ...
- hessian的简单使用以及与spring整合
Hessian是一个由Caucho Technology开发的轻量级二进制RPC协议.和其他Web服务的实现框架不同的是,Hessian是一个使用二进制格式传输的Web服务协议的框架,相对传统soap ...
- Spring整合strus2简单应用总结
本身strus2没接触过,所以这块学的一知半解,正常不整合的还没学(接着学) step: 1.创建web工程 2.在/WEB-INF/lib引入jar包 asm-3.3.jarasm-commons- ...
随机推荐
- Zuul网关过滤器中转发头信息不起作用
大家应该都知道在做Zuul网关过滤的时候,如果不在网关过滤时转发头信息,经过网关时头信息就会丢失. 但我用 addZuulRequestHeader转发头信息时,却不起作用,在子服务的controll ...
- TensorFlow学习笔记5-概率与信息论
TensorFlow学习笔记5-概率与信息论 本笔记内容为"概率与信息论的基础知识".内容主要参考<Deep Learning>中文版. \(X\)表示训练集的设计矩阵 ...
- [Git] 011 checkout 与 reset 命令的补充
1. git checkout -- <file> 的示意 2. "checkout" 的补充 2.1 git checkout <branch_name> ...
- ES6扩展运算符(三点符号), 解构
http://www.cnblogs.com/chrischjh/p/4848934.html
- [2019杭电多校第五场][hdu6624]fraction
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6624 题意为求最小的b满足$a*b^{-1}\equiv x(modp)$. 把式子化简一下: $a\ ...
- [2019杭电多校第三场][hdu6606]Distribution of books(线段树&&dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6606 题意为在n个数中选m(自选)个数,然后把m个数分成k块,使得每块数字之和最大的最小. 求数字和最 ...
- <meta>标签中http-equiv属性的属性值X-UA-Compatible详解
X-UA-Compatible是针对IE8新加的一个设置,对于IE8之外的浏览器是不识别的,这个区别与content="IE=7"在无论页面是否包含<!DOCTYPE> ...
- P3064 [USACO12DEC]伊斯坦布尔的帮派 (模拟)
题目传送门 题意: 一片草地,每次可以只可以让一种牛占领,问你怎样安排牛的次序 最后剩下的是1号牛,并且输出其数量 思路: 看到n到100 ,所以可以(n^3)暴力,第一重遍历次序,第二枚举是哪只牛 ...
- MFC框架各部分指针获取方式
MFC框架各部分指针获取方式 前人在CSDN总结的,曾经帮助过我,整理总结一下,希望也能帮助一下别人. 获得CWinApp 获得CMainFrame 获得CChildFrame 获得CDocument ...
- 29、前端知识点--session\cookie\token
Java Token的原理和生成使用机制 https://yq.aliyun.com/articles/594217 Cookies Session Token 三者区别及应用场景 https://w ...