运行环境:使用了dbcp数据源:
我用的JAR包有:
commons-collections-3.1.jar commons-dbcp.jar commons-pool.jar ojdbc14.jar(或class12.jar)
如果不知道哪里找JAR包的话 可以建一个普通的java工程,不是web工程哦!~
再右键-->myeclipse--add spring capabilities 引入spring就可以了
sql:
- drop table t_user;
- create table t_user
- (
- userid NUMBER not null,
- username VARCHAR2(100)
- );
- create sequence SEQ_T_USER
- minvalue 1
- maxvalue 999999999999999999999999999
- start with 1
- increment by 1
- cache 20;
jdbcTemplate:
- package com.jungle.test;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import java.util.List;
- import java.util.Properties;
- import javax.sql.DataSource;
- import org.apache.commons.dbcp.BasicDataSourceFactory;
- import org.springframework.jdbc.core.BeanPropertyRowMapper;
- import org.springframework.jdbc.core.JdbcTemplate;
- import org.springframework.jdbc.core.PreparedStatementSetter;
- import com.jungle.bean.User;
- /**
- * Spring模板(JdbcTemplater例子)
- * */
- public class JdbcTemplateTest {
- public static void main(String[] args) throws Exception {
- Properties ps = new Properties();
- ps.setProperty("url", "jdbc:oracle:thin:@localhost:1521:oracle");
- ps.setProperty("username", "chenl");
- ps.setProperty("password", "chenl");
- ps.setProperty("driverClassName", "oracle.jdbc.driver.OracleDriver");
- DataSource ds = BasicDataSourceFactory.createDataSource(ps);
- JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);
- /*************************************** test ***********************/
- // 1.查
- System.out.println(query1(jdbcTemplate));
- // 2.条件查
- System.out.println(query2(jdbcTemplate, 1));
- // 3.改
- update(jdbcTemplate, new User(1, "aaaaaa"));
- // 4.增
- User user = new User();
- user.setUsername("11hahaa");
- insert(jdbcTemplate, user);
- // 5.删
- user = new User();
- user.setUserid(2);
- del(jdbcTemplate, user);
- }
- /**
- * 1.使用 JdbcTemplate <br>
- * 查出所有
- * */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public static List<User> query1(JdbcTemplate jdbcTemplate) {
- String sql = "select * from t_user";
- List<User> list = (List<User>) jdbcTemplate.query(sql,
- new BeanPropertyRowMapper(User.class));
- return list;
- }
- /**
- * 2.使用 JdbcTemplate<br>
- * 条件查出所有查出所有
- * */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public static List<User> query2(JdbcTemplate jdbcTemplate, int userid) {
- String sql = "select * from t_user where userid=?";
- List<User> list = (List<User>) jdbcTemplate.query(sql,
- new Object[] { userid }, new BeanPropertyRowMapper(User.class));
- return list;
- }
- /**
- * 3.使用 JdbcTemplate<br>
- * 修改数据
- * */
- public static void update(JdbcTemplate jdbcTemplate, final User user) {
- String sql = "update t_user set username=? where userid=?";
- jdbcTemplate.update(sql, new PreparedStatementSetter() {
- @Override
- public void setValues(PreparedStatement ps) throws SQLException {
- ps.setString(1, user.getUsername());
- ps.setInt(2, user.getUserid());
- }
- });
- }
- /**
- * 4.使用 JdbcTemplate<br>
- * 插入数据
- * */
- public static void insert(JdbcTemplate jdbcTemplate, final User user) {
- String idSql = "select seq_t_user.nextval from dual";
- final int id = jdbcTemplate.queryForInt(idSql); // 用序列得到ID
- String sql = "insert into t_user(userid,username) values(?,?) ";
- jdbcTemplate.update(sql, new PreparedStatementSetter() {
- @Override
- public void setValues(PreparedStatement ps) throws SQLException {
- ps.setInt(1, id);
- ps.setString(2, user.getUsername());
- }
- });
- }
- /**
- * 4.使用 JdbcTemplate<br>
- * 删除数据
- * */
- public static void del(JdbcTemplate jdbcTemplate, final User user) {
- String sql = "delete from t_user where userid=?";
- jdbcTemplate.update(sql, new PreparedStatementSetter() {
- @Override
- public void setValues(PreparedStatement ps) throws SQLException {
- ps.setInt(1, user.getUserid());
- }
- });
- }
- }
NamedParameterJdbcTemplate:
- package com.jungle.test;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Properties;
- import javax.sql.DataSource;
- import org.apache.commons.dbcp.BasicDataSourceFactory;
- import org.springframework.jdbc.core.BeanPropertyRowMapper;
- import org.springframework.jdbc.core.JdbcTemplate;
- import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;
- import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
- import com.jungle.bean.User;
- /**
- * Spring (NamedParameterJdbcTemplate命名模板例子)
- * */
- public class NamedJdbcTemplateTest {
- public static void main(String[] args) throws Exception {
- Properties ps = new Properties();
- ps.setProperty("url", "jdbc:oracle:thin:@localhost:1521:oracle");
- ps.setProperty("username", "chenl");
- ps.setProperty("password", "chenl");
- ps.setProperty("driverClassName", "oracle.jdbc.driver.OracleDriver");
- DataSource ds = BasicDataSourceFactory.createDataSource(ps);
- NamedParameterJdbcTemplate namedJdbcTemplate = new NamedParameterJdbcTemplate(
- ds);
- JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);
- // 1.条件查
- System.out.println(query(namedJdbcTemplate, new User(3, "aa")));
- // 2.插入
- User user = new User();
- user.setUsername("xx2");
- insert(jdbcTemplate, namedJdbcTemplate, user);
- // 3.修改
- update(namedJdbcTemplate, new User(3, "abc"));
- // 4.删除
- del(namedJdbcTemplate, new User(3, "abc"));
- }
- /**
- * 1.有条件查询 没有条件使用 jdbcTemplate.query(sql,new
- * BeanPropertyRowMapper(User.class));<br>
- * 有条件 用NamedParameterJdbcTemplate
- * */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public static List<User> query(
- NamedParameterJdbcTemplate namedJdbcTemplate, User user) {
- String sql = "select * from t_user where userid=:userid";
- Map map = new HashMap();
- map.put("userid", user.getUserid());
- List<User> list = namedJdbcTemplate.query(sql, map,
- new BeanPropertyRowMapper(User.class));
- return list;
- }
- /**
- * 2.插入
- * */
- public static void insert(JdbcTemplate jdbcTemplate,
- NamedParameterJdbcTemplate namedJdbcTemplate, User user) {
- String idSql = "select seq_t_user.nextval from dual";
- final int id = jdbcTemplate.queryForInt(idSql); // 用序列得到ID
- user.setUserid(id);
- String sql = "insert into t_user(userid,username)values(:userid,:username)";
- namedJdbcTemplate.update(sql, new BeanPropertySqlParameterSource(user));
- }
- /**
- * 3.修改
- * */
- public static void update(NamedParameterJdbcTemplate namedJdbcTemplate,
- User user) {
- String sql = "update t_user set username=:username where userid=:userid";
- namedJdbcTemplate.update(sql, new BeanPropertySqlParameterSource(user));
- }
- /**
- * 4.删除
- * */
- public static void del(NamedParameterJdbcTemplate namedJdbcTemplate,
- User user) {
- String sql = "delete from t_user where userid=:userid";
- namedJdbcTemplate.update(sql, new BeanPropertySqlParameterSource(user));
- }
- }
总结:
- package com.jungle.test;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Properties;
- import javax.sql.DataSource;
- import org.apache.commons.dbcp.BasicDataSourceFactory;
- import org.springframework.jdbc.core.BeanPropertyRowMapper;
- import org.springframework.jdbc.core.JdbcTemplate;
- import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;
- import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
- import com.jungle.bean.User;
- /**
- * 模板总结<br>
- * 总结jdbcTemplate和NamedParameterJdbcTemplate的选择<br>
- * */
- public class TotalTest {
- public static void main(String[] args) {
- /**
- * 如下方法可见 只有在查询时候 选择JdbcTemplate,NamedParameterJdbcTemplate都一样 <br>增, 删 ,改
- * 都应选择NamedParameterJdbcTemplate<br>
- * 注意: queryForInt,queryForList 方法都只能用于基本数据类型<br>
- * (如:template.queryForList(sql ,String.class);template.queryForInt(sql ,Integer.class);)<br>
- * 自定义类型(如:User)的查询要用query方法
- */
- }
- /**
- * 1.使用 JdbcTemplate <br>
- * 查出所有
- * */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public static List<User> jdbcQueryAll(JdbcTemplate jdbcTemplate) {
- String sql = "select * from t_user";
- List<User> list = (List<User>) jdbcTemplate.query(sql,
- new BeanPropertyRowMapper(User.class));
- return list;
- }
- /**
- * 2.条件查询选择NamedParameterJdbcTemplate
- * */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public static List<User> ConditionQuery(
- NamedParameterJdbcTemplate namedJdbcTemplate, User user) {
- String sql = "select * from t_user where userid=:userid";
- Map map = new HashMap();
- map.put("userid", user.getUserid());
- List<User> list = namedJdbcTemplate.query(sql, map,
- new BeanPropertyRowMapper(User.class));
- return list;
- }
- /**
- * 2.条件查询选择 JdbcTemplate
- * */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public static List<User> query2(JdbcTemplate jdbcTemplate, int userid) {
- String sql = "select * from t_user where userid=?";
- List<User> list = (List<User>) jdbcTemplate.query(sql,
- new Object[] { userid }, new BeanPropertyRowMapper(User.class));
- return list;
- }
- /**
- * 3.插入选择 NamedParameterJdbcTemplate由其是在字段多时
- * */
- public static void insert(JdbcTemplate jdbcTemplate,
- NamedParameterJdbcTemplate namedJdbcTemplate, User user) {
- String idSql = "select seq_t_user.nextval from dual";
- final int id = jdbcTemplate.queryForInt(idSql); // 用序列得到ID
- user.setUserid(id);
- String sql = "insert into t_user(userid,username)values(:userid,:username)";
- namedJdbcTemplate.update(sql, new BeanPropertySqlParameterSource(user));
- }
- /**
- * 4.删除选择 NamedParameterJdbcTemplate
- * */
- public static void del(NamedParameterJdbcTemplate namedJdbcTemplate,
- User user) {
- String sql = "delete from t_user where userid=:userid";
- namedJdbcTemplate.update(sql, new BeanPropertySqlParameterSource(user));
- }
- /**
- * 5.修改选择 NamedParameterJdbcTemplate
- * */
- public static void update(NamedParameterJdbcTemplate namedJdbcTemplate,
- User user) {
- String sql = "update t_user set username=:username where userid=:userid";
- namedJdbcTemplate.update(sql, new BeanPropertySqlParameterSource(user));
- }
- }
相关推荐
Druid / SpringTemplate / Mysql 的jar包(无需积分,免费!!!)Druid / SpringTemplate / Mysql 的jar包(无需积分,免费!!!)Druid / SpringTemplate / Mysql 的jar包(无需积分,免费!!!)
spring框架对jdbc的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发 步骤: 1.导入jar包 2.创建JdbcTemplate对象。依赖于数据源DataSource JdbcTemplate template = new jdbcTemplate(ds);
springtemplate,简单操作,存储过程使用总结及例子
本项目关注的是四个关键技术在HBase数据库操作中的应用——HBase本身,以及OMID、Haeinsa和Spring Template。HBase是一个分布式、版本化的NoSQL数据库,构建于Hadoop之上,适合大规模数据存储。而OMID(Open ...
Java项目02-菜谱管理系统数据库SpringTemplate实现:本系统是利用控制台+数据库SpringTemplate框架完全实现的,这里提供源代码及数据库sql文件,另外后续还有swing+数据库实现
MongoDBTemplate是Spring Data MongoDB的核心组件,它提供了丰富的API来执行常见的数据库操作。 首先,让我们深入理解`MongoDBTemplate`。它是MongoDB操作的抽象层,封装了大量的CRUD(创建、读取、更新、删除)...
Java项目04-天天生鲜订菜管理系统阿里云mysql数据库&SpringTemplate;实现&Linux;演示:本项目阿里云mysql数据库&SpringTemplate;实现并提供利用Xshell在Linux环境下答辩展示视频,这里提供源码和数据库sql备份文件及...
【标题】中的"(2020.1.16更新) Druid / SpringTemplate / Mysql 的jar包(无需积分,免费!!!)"表明这是一个关于Java开发的资源包,其中包含了Druid、SpringTemplate和Mysql相关的jar文件,且这个资源在2020年1月...
在IT行业中,Spring Boot、Spring JDBC Template、MySQL和Sharding-J-Subdb是常见的技术组件,它们在构建高效、可扩展的分布式数据库系统中扮演着重要角色。让我们深入了解一下这些技术及其相互之间的协同工作。 ...
《Spring Android REST Template详解》 在移动开发领域,Android与后端服务的交互是一个不可或缺的部分。Spring框架,作为Java开发的基石,也扩展到了Android平台,提供了Spring for Android的组件,其中Spring ...
本项目聚焦于Spring、Spring MVC和JDBC Template的集成应用,用于实现数据库的增删改查操作。这是一套常见的企业级应用开发模式,对于理解和掌握Java Web开发至关重要。 首先,Spring框架是一个开源的应用框架,它...
简单的spring连接JDBC样例,在TOMCAT5.5下完成.可以进行修改后直接使用.新建工程,在MyEclipse环境下导入SPRING文件.将MYSQL驱动拷贝至%工程地址%\WebRoot\WEB-INF\lib 文件夹下,然后将src文件夹替换,即可进行测试. ...
在Java开发中,Spring JDBC Template是一个非常重要的工具,它提供了对数据库操作的抽象层,简化了JDBC的繁琐工作,使我们能够更加专注于业务逻辑。本主题将详细讲解如何使用Spring JDBC Template访问MySQL数据库并...
- **MongoTemplate**:作为Spring Data MongoDB的核心类,提供了丰富的操作MongoDB的方法。 - **文档操作**:涵盖了保存、更新、删除文档等操作。 - **查询文档**:包括查询集合中的文档、地理空间查询、全文查询等...
1. **Spring核心jar包**:这是Spring框架的基础,主要包括`spring-core`、`spring-beans`、`spring-context`和`spring-expression`。`spring-core`提供了基础工具类和资源处理能力;`spring-beans`负责Bean的创建、...
Spring JDBC Template是Spring框架的一部分,它为Java数据库连接(JDBC)提供了一种抽象层,目的是简化数据库操作,同时保留了JDBC的灵活性。在实际开发中,它可以帮助我们避免编写大量的样板代码,如手动打开和关闭...
使用 Spring JDBC Template 对数据库查询(登录)和删除(maven),图文教程地址:https://blog.csdn.net/qq_40147863/article/details/86015509
以上就是使用Spring Cloud Ribbon结合RestfulTemplate实现负载均衡的基本步骤。通过这种方式,我们可以轻松地在多个服务实例之间进行负载均衡,提升系统的稳定性和扩展性。在实际项目中,还可以根据需要自定义负载...
使用 Spring MVC + JDBC Template 实现筛选、检索功能(maven),图文教程地址:https://blog.csdn.net/qq_40147863/article/details/86187642
文档中提到的MongoTemplate是SpringData MongoDB中的另一个重要组成部分。这是一个用于MongoDB操作的类,它封装了对MongoDB的基本CRUD(创建、读取、更新、删除)操作,并且提供了一个更加面向对象的接口,使得...