Spring jdbc
来源:互联网 发布:基于knn算法的鉴别字体 编辑:程序博客网 时间:2024/06/02 02:21
spring整合JDBC
1.简单的使用JdbcTemplate
//0 准备连接池 ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql:///hibernate_32"); dataSource.setUser("root"); dataSource.setPassword("1234"); //1 创建JDBC模板对象 JdbcTemplate jt = new JdbcTemplate(); jt.setDataSource(dataSource); //2 书写sql,并执行 String sql = "insert into t_user values(null,'rose') "; jt.update(sql);
2.1配置连接池、dao类
下边实现JdbcDaoSupport,所以不用配置JdbcTemplate,而直接传dataSource给dao类
<!-- 指定spring读取db.properties配置 --><context:property-placeholder location="classpath:db.properties" /><!-- 将连接池放入spring容器 --><bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" > <property name="jdbcUrl" value="${jdbc.jdbcUrl}" ></property> <property name="driverClass" value="${jdbc.driverClass}" ></property> <property name="user" value="${jdbc.user}" ></property> <property name="password" value="${jdbc.password}" ></property></bean><!-- 将UserDao放入spring容器 --><bean name="userDao" class="cn.itcast.a_jdbctemplate.UserDaoImpl" > <property name="dataSource" ref="dataSource" ></property></bean>
2.2实现功能
//使用JDBC模板实现增删改查public class UserDaoImpl extends JdbcDaoSupport implements UserDao { @Override public void save(User u) { String sql = "insert into t_user values(null,?) "; super.getJdbcTemplate().update(sql, u.getName()); } @Override public void delete(Integer id) { String sql = "delete from t_user where id = ? "; super.getJdbcTemplate().update(sql,id); } @Override public void update(User u) { String sql = "update t_user set name = ? where id=? "; super.getJdbcTemplate().update(sql, u.getName(),u.getId()); } @Override public User getById(Integer id) { String sql = "select * from t_user where id = ? "; return super.getJdbcTemplate().queryForObject(sql,new RowMapper<User>(){ @Override public User mapRow(ResultSet rs, int arg1) throws SQLException { User u = new User(); u.setId(rs.getInt("id")); u.setName(rs.getString("name")); return u; }}, id); } @Override public int getTotalCount() { String sql = "select count(*) from t_user "; Integer count = super.getJdbcTemplate().queryForObject(sql, Integer.class); return count; } @Override public List<User> getAll() { String sql = "select * from t_user "; List<User> list = super.getJdbcTemplate().query(sql, new RowMapper<User>(){ @Override public User mapRow(ResultSet rs, int arg1) throws SQLException { User u = new User(); u.setId(rs.getInt("id")); u.setName(rs.getString("name")); return u; }}); return list; }}
阅读全文
0 0
- Spring JDBC
- spring+JDBC
- Spring JDBC
- spring + jdbc
- Spring JDBC
- spring+jdbc
- spring+jdbc
- Spring JDBC
- Spring JDBC
- Spring JDBC
- Spring JDBC
- spring+jdbc
- Spring JDBC
- spring+jdbc
- spring jdbc
- Spring JDBC
- spring JDBC
- spring+jdbc
- C++中虚函数工作原理和(虚)继承类的内存占用大小计算
- 111. Minimum Depth of Binary Tree
- Android SQL数据库操作(使用xUtils3)
- 自定义LinkedList
- Android Studio调试系统应用Launcher2
- Spring jdbc
- 做一个合格的程序猿之浅析Spring IoC源码(一)分析前的准备和思考
- maven集成eclipse根据resources profiles filtering进行不同环境打包部署
- mysql中查询不以某个字符串开头的字段
- 3D打印文件格式:STL、OBJ、AMF、3MF
- RTMPdump(libRTMP) 源代码分析 9: 接收消息(Message)(接收视音频数据)
- jqery和js如何判断多选框checkbox是否选中
- LinkedBlockingQueue的put,add跟offer的区别
- EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行