- 浏览: 37290 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
yekui:
把Liberarise 重新导,src等都从新倒 即可解决。
tomcat编译工程之后classes文件夹下没有文件或者缺失文件解决办法 -
w1113:
刚才也碰到你的这个问题,编译后的class文件发布不上去,最后 ...
tomcat编译工程之后classes文件夹下没有文件或者缺失文件解决办法 -
苏叶晚晚:
我也遇到了同样。。。无奈的问题。唉==
用楼主的奇思妙想的办法 ...
tomcat编译工程之后classes文件夹下没有文件或者缺失文件解决办法
spring jdbctemplate使用方法
1,建表
create table admin{
id number(10) primary key,
name varchar2(64),
password varchar2(64)
}
2,spring 配置
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource">
<property name="URL">
<value>jdbc:oracle:thin:root/123@localhost:1521/xe</value>
</property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>
<bean id="userDAO" class="DAO.Imp.UserDAOImp">
<property name="jdbcTemplate"><ref bean="jdbcTemplate"/></property>
</bean>
<bean id="user" class="Model.User">
<property name="dao"><ref bean="userDAO"/></property>
</bean>
</beans>
3,使用方法
查找
多行查询
class UserRowMapper implements RowMapper{
public Object mapRow{ResultSet rs,int index)throws SQLException{
User u = new User();
u.setId(rs.getString("id"));
u.setName(rs.getString("name"));
u.setPassword(rs.getString("password"));
return u;
}
public List select(String where){
List list;
String sql = "select * from admin " + where ;
list = jdbcTemplate.query(sql,new RowMapperResultReader(new UserRowMapper()));
return list;
}
}
单行查询
public User selectById(String id){
String sql = "select * from admin where id = ?";
final User u = new User();
final Object[] params = new Object[] {id};
jdbcTemplate.query(sql,params,new RowCallbackHandler(){
public void processRow(ResultSet rs )throws SQLException{
u.setId(rs.getString("id"));
u.setName(rs.getString("name"));
u.setPassword(rs.getString("password"));
}
});
return u;
}
插入
public void insert(User u ){
String sql = "insert into admin(id,name,password) vlaues(admin_id_seq.nextval,?,?)";
Object[] params = new Object[]{
u.getName((),
u.getPassword()
};
jdbcTemplate.update(sql,params);
}
//admin_id_seq.nextval为oracle设置好的序列,问号“?”被params里的数据一次替代,最终执行sql。
修改
public void update(String how){
jdbc.Template.update(how);
}
源代码:
User.class
public class User(
private String name;
private String id;
private String password;
private UserDAO dao;
public User(){}
public User(String name,String password){
this.name = name;
this.password = password;
}
public void setDao(UserDAO dao){
this.dao = dao;
}
public UserDAO getDao(){
return dao;
}
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
public void setName (String name){
this.name = name;
}
public String getName(){
return name;
}
public void setPassword(String password){
this.password = password;
}
public String getPassword(){
return password;
}
public void getInfo(String id){
List list = dao.select("where id = " + id);
User u = (User)list.get(0);
this.id = u.getId();
this.name = u.getName();
this.password = u.getPassword();
}
public void insert(){
dao.insert(this);
}
public void update(String how){
dao.update(how);
}
public void update(){
dao.update("update admin set name = " + name + ",password = " + password + " where id = " + id);
}
public List selectWithTemp(String where){
return dao.select(where);
}
public void selectWithTemp(){
dao.selectWithTemp();
}
public User selectById(String id){
return dao.selectById(id);
}
public void insertUsers(List users){
dao.insertUsers(users);
}
}
UserDAO.class
public interface UserDAO{
public void select();
public void test();
public void selectWithTemp();
public List select(String where);
public void update(String how);
public void insert(User u);
public User selectById(String id);
public int[] insertUsers(final List users);
}
UserDAOImpl.class
public class UserDAOImp implements UserDAO{
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
}
class UserRowMapper implements RowMapper{
public Object mapRow(ResultSet rs,int index)throws SQLException{
User u = new User();
u.setId(rs.getString("id"));
u.setName(rs.getString("name"));
u.setPassword(rs.getString("password"));
return u;
}
}
public void selectWithTemp(){
String sql = "select * from admin";
jdbcTemplate.query(sql,new RowCallbackHandler(){
public void processRow(ResultSet rs)throws SQLException{
System.out.println("id:" + rs.getString("id") + " name:" + rs.getString("name"));
}
});
}
public List select(String where){
List list;
String sql = "select * from admin " + where;
list = jdbcTemplate.query(sql,new RowMapperResultReader(new UserMapper()));
return list;
}
public User selectById(String id){
String sql = "select * from admin where id = ?";
final User u = new User();
final Object[] params = new Object[] {id};
jdbcTemplate.query(sql,params,new RowCallbackHandler(){
public void processRow(ResultSet rs)throws SQLException{
u.setId(rs.getString("id));
u.setName(rs.getString("name"));
u.setPassword(rs.getString("password"));
}
});
return u;
}
public void update(String how){
String sql = how;
jdbcTemplate.update(sql);
}
public void insert(User u){
String sql = "insert into admin(id,name,password) values (admin_id_seq.nextval,?,?";
Object[] params = new Object[]{
u.getName(),
u.getPassword()
};
jdbcTemplate.update(sql,params);
}
}
UserAction.class
public class UserAction{
public static void main(String[] args){
Resource resource = ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
User user = (User)factory.getBean("user");
user.selectWithTemp();
}
}
1,建表
create table admin{
id number(10) primary key,
name varchar2(64),
password varchar2(64)
}
2,spring 配置
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource">
<property name="URL">
<value>jdbc:oracle:thin:root/123@localhost:1521/xe</value>
</property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>
<bean id="userDAO" class="DAO.Imp.UserDAOImp">
<property name="jdbcTemplate"><ref bean="jdbcTemplate"/></property>
</bean>
<bean id="user" class="Model.User">
<property name="dao"><ref bean="userDAO"/></property>
</bean>
</beans>
3,使用方法
查找
多行查询
class UserRowMapper implements RowMapper{
public Object mapRow{ResultSet rs,int index)throws SQLException{
User u = new User();
u.setId(rs.getString("id"));
u.setName(rs.getString("name"));
u.setPassword(rs.getString("password"));
return u;
}
public List select(String where){
List list;
String sql = "select * from admin " + where ;
list = jdbcTemplate.query(sql,new RowMapperResultReader(new UserRowMapper()));
return list;
}
}
单行查询
public User selectById(String id){
String sql = "select * from admin where id = ?";
final User u = new User();
final Object[] params = new Object[] {id};
jdbcTemplate.query(sql,params,new RowCallbackHandler(){
public void processRow(ResultSet rs )throws SQLException{
u.setId(rs.getString("id"));
u.setName(rs.getString("name"));
u.setPassword(rs.getString("password"));
}
});
return u;
}
插入
public void insert(User u ){
String sql = "insert into admin(id,name,password) vlaues(admin_id_seq.nextval,?,?)";
Object[] params = new Object[]{
u.getName((),
u.getPassword()
};
jdbcTemplate.update(sql,params);
}
//admin_id_seq.nextval为oracle设置好的序列,问号“?”被params里的数据一次替代,最终执行sql。
修改
public void update(String how){
jdbc.Template.update(how);
}
源代码:
User.class
public class User(
private String name;
private String id;
private String password;
private UserDAO dao;
public User(){}
public User(String name,String password){
this.name = name;
this.password = password;
}
public void setDao(UserDAO dao){
this.dao = dao;
}
public UserDAO getDao(){
return dao;
}
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
public void setName (String name){
this.name = name;
}
public String getName(){
return name;
}
public void setPassword(String password){
this.password = password;
}
public String getPassword(){
return password;
}
public void getInfo(String id){
List list = dao.select("where id = " + id);
User u = (User)list.get(0);
this.id = u.getId();
this.name = u.getName();
this.password = u.getPassword();
}
public void insert(){
dao.insert(this);
}
public void update(String how){
dao.update(how);
}
public void update(){
dao.update("update admin set name = " + name + ",password = " + password + " where id = " + id);
}
public List selectWithTemp(String where){
return dao.select(where);
}
public void selectWithTemp(){
dao.selectWithTemp();
}
public User selectById(String id){
return dao.selectById(id);
}
public void insertUsers(List users){
dao.insertUsers(users);
}
}
UserDAO.class
public interface UserDAO{
public void select();
public void test();
public void selectWithTemp();
public List select(String where);
public void update(String how);
public void insert(User u);
public User selectById(String id);
public int[] insertUsers(final List users);
}
UserDAOImpl.class
public class UserDAOImp implements UserDAO{
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
}
class UserRowMapper implements RowMapper{
public Object mapRow(ResultSet rs,int index)throws SQLException{
User u = new User();
u.setId(rs.getString("id"));
u.setName(rs.getString("name"));
u.setPassword(rs.getString("password"));
return u;
}
}
public void selectWithTemp(){
String sql = "select * from admin";
jdbcTemplate.query(sql,new RowCallbackHandler(){
public void processRow(ResultSet rs)throws SQLException{
System.out.println("id:" + rs.getString("id") + " name:" + rs.getString("name"));
}
});
}
public List select(String where){
List list;
String sql = "select * from admin " + where;
list = jdbcTemplate.query(sql,new RowMapperResultReader(new UserMapper()));
return list;
}
public User selectById(String id){
String sql = "select * from admin where id = ?";
final User u = new User();
final Object[] params = new Object[] {id};
jdbcTemplate.query(sql,params,new RowCallbackHandler(){
public void processRow(ResultSet rs)throws SQLException{
u.setId(rs.getString("id));
u.setName(rs.getString("name"));
u.setPassword(rs.getString("password"));
}
});
return u;
}
public void update(String how){
String sql = how;
jdbcTemplate.update(sql);
}
public void insert(User u){
String sql = "insert into admin(id,name,password) values (admin_id_seq.nextval,?,?";
Object[] params = new Object[]{
u.getName(),
u.getPassword()
};
jdbcTemplate.update(sql,params);
}
}
UserAction.class
public class UserAction{
public static void main(String[] args){
Resource resource = ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);
User user = (User)factory.getBean("user");
user.selectWithTemp();
}
}
发表评论
-
经典sql语句大全
2011-03-07 17:42 936一、基础 1、说明:创建数据库CREATE DATABA ... -
Java面向对象设计最佳实践
2011-03-07 17:40 835Java面向对象设计最佳实践 内置类设计 从这篇文 ... -
Spring AOP处理日志
2011-03-07 17:39 1260Spring AOP处理日志 AOP正 ... -
验证码相关2
2011-03-07 16:57 724登录的jsp页面: <%@ page language= ... -
验证码相关
2011-03-07 16:55 861public class RandomNumUtil { ... -
LoginInterceptor (用户登录拦截器类)
2011-03-07 16:54 1874public class LoginInterceptor e ... -
PageHelper (分页导航类,根据当前页计算导航链接)
2011-03-07 16:54 2684public class PageHelper { ... -
Pager(分页查询类)
2011-03-07 16:53 1308public class Pager extends Hibe ... -
FileTool (文件工具类)
2011-03-07 16:51 1693public class FileTool { ... -
CustomActionSupport (继承ActionSupport的类)
2011-03-07 16:50 823public class CustomActionSuppor ... -
StringTool(字符串工具类)
2011-03-07 16:49 1411public class StringTool { ... -
DateFormatTool(日期格式和字符串格之间转换类,日期转换器用到此类)
2011-03-07 16:49 1981public class DateFormatTool { ... -
LongConvert(Long类型转换器)
2011-03-07 16:48 978public class LongConvert extend ... -
IntConvert(整数类型转换器)
2011-03-07 16:47 836public class IntConvert extends ... -
DateConvert(日期类型转换器)
2011-03-07 16:47 1758public class DateConvert extend ... -
Xwork-conversion.properties资源文件全文
2011-03-07 16:46 1157java.sql.Timestamp=com.wyt.comm ... -
Struts.priperties配置文件全文
2011-03-07 16:46 798struts.objectFactory=spring str ... -
SSH2整合过程中出现的错误及解决方法
2011-03-07 16:45 1133老是报,ERROR [main] (Conte ... -
SSH2整合的顺序
2011-03-07 16:44 10551. 添加Spring 2.0的Libraries 选择 ... -
log4j.properties资源文件全文
2011-03-07 16:43 694log4j.rootLogger=INFO,ERROR,con ...
相关推荐
SSH笔记-Spring JdbcTemplate是关于如何在Spring框架中利用JdbcTemplate进行数据库操作的教程。Spring是一个广泛应用的Java企业级应用框架,它提供了多种数据访问工具,而JdbcTemplate就是其中之一,用于简化JDBC...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
本学习笔记提供了丰富的源码示例,帮助读者更好地理解和应用Spring框架。 首先,需要明确Spring是一个开源框架,它旨在简化Java EE(现在称为Jakarta EE)的开发。Spring框架的核心是提供了一个轻量级、解耦的容器...
"Spring笔记示例源代码"这个资源很可能是为了帮助学习者深入理解Spring框架的各种功能和用法而提供的实际代码示例。 1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者...
### Spring Boot 学习笔记知识点 #### 1. Spring Boot 简介 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。它使用了特定的方式来配置Spring,使得开发者...
### Spring2.5学习笔记 #### Spring是什么? Spring是一个开源框架,主要应用于Java平台上的企业级应用程序开发。它提供了一种轻量级的容器管理机制,通过依赖注入(DI)和面向切面编程(AOP)来降低组件间的耦合...
学习如何使用 Spring JdbcTemplate 或者 MyBatis 进行数据库操作,以及事务管理(@Transactional)是非常重要的。 6. **MVC 框架**:Spring MVC 是 Spring 用于构建 Web 应用的一个模块。学习如何创建控制器...
此外,Spring还提供了多种模板类简化开发,例如JdbcTemplate用于数据库操作,RestTemplate用于HTTP客户端调用,这些模板类封装了常见的操作,使得代码更简洁、易读。 总的来说,Spring框架通过IoC和DI降低了组件...
JdbcTemplate 是 Spring 对 JDBC 的轻量级抽象,它简化了数据库访问,同时避免了直接编写大量的模板代码。JdbcTemplate 提供了多种模板方法,如 `update()`, `query()`, `execute()` 等,这些方法实际上扮演了命令...
**Spring+JDBC集成学习笔记** 在Java Web开发中,Spring框架因其强大的功能和灵活性而被广泛应用。Spring提供了与JDBC的集成,使得数据库操作更加便捷、高效且易于管理。以下将详细介绍Spring如何与JDBC结合,以及...
### Spring学习笔记知识点详解 #### 一、Spring理论基础 1. **依赖注入与控制反转** - **依赖注入(Dependency Injection, DI)**: 在软件工程中,依赖注入是一种设计模式,它允许对象在其生命周期中动态接收其依赖...
【Spring 学习笔记概述】 Spring 是一个广泛使用的 Java 应用框架,尤其在企业级应用开发中占有重要地位。其核心特性是依赖注入(Dependency Injection,DI)和控制反转(Inversion of Control,IoC),这两者是...
文档开头反复提到“Spring”,这表明个人学习笔记的起点是Spring框架的基础知识。Spring是一个全面的编程和配置模型,用于现代Java基础上的企业的、多层的和面向服务的应用程序。Spring的一个重要特点是分层架构,...
Spring框架是Java开发中最...以上是"spring-learn:spring原始笔记"可能涉及的一些核心知识点,实际笔记内容可能会更详细,包括更多实践示例和深入讲解。学习Spring需要对这些概念有深刻理解,并结合实践来提升技能。
SpringBoot学习笔记完整教程 SpringBoot是Spring框架的一个简化版,旨在简化Spring应用程序的初始设置和开发过程。它集成了大量的常用库,如数据访问、安全、Web等,使得开发者可以快速构建健壮的微服务应用。本...
### 传智播客 Spring 完全文档 笔记总结 #### 一、Spring入门 ##### 1.1 Spring简介 - **定义**:Spring 是一个开源的控制反转(Inversion of Control, IoC)和面向切面(Aspect Oriented Programming, AOP)的...
### 牧紫小岩的Spring学习笔记:深入解析Spring框架的核心功能与应用 #### Spring框架概览 Spring框架,作为Java领域中一个重要的轻量级框架,主要关注于解决企业级应用开发中的复杂性问题。它通过提供一系列的...
【Spring 框架概述】 Spring 是一个广泛使用的开源Java开发框架,由Rod Johnson在其...随着学习深入,Spring的更多高级特性,如Spring Boot、Spring Data、Spring Security等,都会进一步提升开发效率和应用的健壮性。