实体Bean
package cn.csdn.bean;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
//用户的id
private int id;
//用户的名字
private String name;
//用户的年龄
private int age;
//用户的性别
private String sex;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
}
Dao层
public interface UserDao {
// 增加
void insert(User entity);
// 修改
void update(User entity);
// 删除
void delete(int id);
// 根据id查询
User selectById(int id);
// 查询所有
List<User> selectAll();
}
DaoImpl层 第一种实现:
package cn.csdn.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import cn.csdn.bean.User;
public class UserDaoImpl implements UserDao{
//定义一个Jdbc
private JdbcTemplate jt;
//必须有set 方法
public void setJt(JdbcTemplate jt) {
this.jt = jt;
}
public void delete(int id) {
// TODO Auto-generated method stub
String sql="delete from user where id="+id;
int temp=this.jt.update(sql);
if(temp>0){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}
public void insert(User entity) {
// TODO Auto-generated method stub
String sql="insert into user(name,age,sex) values(?,?,?)";
Object obj[]={entity.getName(),entity.getAge(),entity.getSex()};
int temp=this.jt.update(sql,obj);
if(temp>0){
System.out.println("插入成功!");
}else{
System.out.println("插入失败!");
}
}
public List<User> selectAll() {
String sql="select * from user";
List list=this.jt.query(sql,new RowMapper(){
@Override
public Object mapRow(ResultSet rs, int row) throws SQLException {
// TODO Auto-generated method stub
User user=new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
user.setSex(rs.getString("sex"));
return user;
}
});
System.out.println(list.size());
// TODO Auto-generated method stub
return list;
}
public User selectById(int id) {
// TODO Auto-generated method stub
String sql="select id,name,age,sex from user where id="+id;
User user=(User)jt.queryForObject(sql, new RowMapper(){
@Override
public Object mapRow(ResultSet rs, int arg1) throws SQLException {
// TODO Auto-generated method stub
User user=new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
user.setSex(rs.getString("sex"));
return user;
}
});
return user;
}
public void update(User entity) {
// TODO Auto-generated method stub
String sql="update user set name=?,age=?,sex=? where id=?";
Object obj[]={entity.getName(),entity.getAge(),entity.getSex(),entity.getId()};
int temp=jt.update(sql,obj);
if(temp>0){
System.out.println("更新成功!");
}else{
System.out.println("更新失败!");
}
}
}
第二种实现:
package cn.csdn.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
import cn.csdn.bean.User;
public class UserDaoImpl3 implements UserDao{
//定义一个Jdbc
private SimpleJdbcTemplate sjt;
//必须有set 方法
public void setSjt(SimpleJdbcTemplate sjt){
this.sjt=sjt;
}
@Override
public void delete(int id) {
// TODO Auto-generated method stub
String sql="delete from user where id=?";
int temp=this.sjt.update(sql, id);
if(temp>0){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}
@Override
public void insert(User entity) {
// TODO Auto-generated method stub
String sql="insert into user(name,age,sex) values(?,?,?)";
int temp=sjt.update(sql,entity.getName(),entity.getAge(),entity.getSex());
if(temp>0){
System.out.println("插入成功!");
}else{
System.out.println("插入失败!");
}
}
@Override
public List<User> selectAll() {
String sql="select * from user";
List list=this.sjt.queryForList(sql);
System.out.println(list.size());
return list;
}
@Override
public User selectById(int id) {
// TODO Auto-generated method stub
String sql="select id,name,age,sex from user where id=?";
User user=(User) sjt.queryForObject(sql, new ParameterizedRowMapper() {
@Override
public Object mapRow(ResultSet rs, int arg1) throws SQLException {
User user=new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
user.setSex(rs.getString("sex"));
return user;
}
}, id);
return user;
}
@Override
public void update(User entity) {
// TODO Auto-generated method stub
/**第一种方法*/
//String sql="update user set name=?,age=?,sex=? where id=?";
//int temp=sjt.update(sql, entity.getName(),entity.getAge(),entity.getSex(),entity.getId());
/**第二种方法*/
String sql="update user set name=:name,age=:age,sex=:sex where id=:id";
Map<String,Object> map=new HashMap<String,Object>();
map.put("name", entity.getName());
map.put("age", entity.getAge());
map.put("sex", entity.getSex());
map.put("id", entity.getId());
int temp=sjt.update(sql, map);
if(temp>0){
System.out.println("更新成功!");
}else{
System.out.println("更新失败!");
}
}
}
相关推荐
在本实例中,我们将深入探讨如何使用SpringBoot框架进行数据库操作,主要集中在增删改查(CRUD)功能。SpringBoot以其简洁的配置和强大的功能,成为Java开发中广泛采用的框架,尤其在构建微服务时更为突出。下面,...
在这个实例中,我们将探讨如何利用这三个框架实现一个简单的登录功能,并通过Spring进行登录、增、删、改、查的完整操作。 首先,Struts2作为MVC模式中的Controller层,负责处理用户请求并转发到相应的Action。在...
在这个"springmvc增删改查demo"中,我们将探讨如何利用SpringMVC实现基本的数据操作功能。 1. **模型(Model)**: - SpringMVC通过`@ModelAttribute`注解将HTTP请求参数绑定到Java对象上,简化了数据接收。 - ...
在增删改查操作中,Spring通过它的数据访问集成(Data Access/Integration)模块,如JdbcTemplate或JPA,与数据库进行交互。 2. **Struts框架**:Struts是MVC(Model-View-Controller)设计模式的实现,主要负责...
在本Demo中,Spring的IoC容器负责管理对象的生命周期和依赖关系,比如Action类和DAO层的实例化。通过动态代理,Spring可以在方法调用前后插入额外的逻辑,如日志记录或性能监控。同时,AOP模块用于实现事务管理,...
2. 创建JdbcTemplate实例:在Spring配置文件中定义DataSource,然后通过`@Autowired`注解注入到JdbcTemplate bean中。 ```xml <!-- 数据源配置 --> <bean id="jdbcTemplate" class="org.springframework.jdbc....
在这个"spring完整demo实例"中,我们将深入探讨Spring的主要功能和如何在实际项目中应用它们。 首先,Spring的核心特性——依赖注入,是它简化软件开发的关键。依赖注入允许我们解耦组件,使得代码更加模块化,易于...
Spring3实例Demo旨在提供一个全面理解并实践Spring框架核心功能的平台。Spring是Java领域中最受欢迎的轻量级框架之一,它通过依赖注入(DI)和面向切面编程(AOP)来简化企业级应用的开发。在这个实例Demo中,我们将...
在这个DEMO中,JdbcTemplate可能被用来执行数据库查询、更新和删除操作,与Spring的其他组件无缝配合。 在配置方面,Struts2的配置文件(通常为struts.xml)会定义Action和结果映射,而Spring的配置文件(如...
通过 JdbcTemplate,你可以方便地执行增删改查操作,如 `queryForList()`, `update()`, `callProcedure()` 等。 2. **DataSource**:在 Spring 中,数据源(DataSource)是负责管理数据库连接的对象。Spring 提供了...
**JdbcTemplate简单实例** 在Java开发中,数据库操作是一个非常重要的环节。Spring框架提供了一个强大的工具类——JdbcTemplate,它简化了与数据库交互的过程,帮助开发者避免了手动处理JDBC的繁琐工作,如连接管理...
通过Spring的HibernateTemplate或JdbcTemplate,开发者可以方便地执行SQL查询,进行数据的CRUD操作。Spring还支持事务管理,确保了数据的一致性和完整性。 在项目结构上,SpringMVCDemo通常包括以下几个关键部分: ...
在本项目中,我们主要探讨的是如何将Spring MVC、Spring框架和Spring JDBC这三大核心组件进行整合,构建一个完整的Java Web应用程序。这个整合Demo旨在帮助开发者理解这些技术的协同工作方式,以及如何在实际开发中...
Spring框架是Java开发中的一个核心组件,主要用于简化企业级应用的开发。它提供了一个全面的编程和配置模型,旨在提高生产效率,同时鼓励面向接口的编程和依赖注入(DI)原则。Spring MVC是Spring框架的一个模块,专...
actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、...JdbcTemplate(通用JDBC操作数据库)、JPA(强大的ORM框架)、mybatis(强大的ORM框架)...
在本示例中,"Spring-MVC的demo" 提供了一个完整的Spring MVC学习项目,包含了数据库操作、JDBC以及Spring的核心功能。 1. **Spring MVC 框架简介** Spring MVC 是Spring框架的一部分,主要用于处理Web请求。它将...
这个名为“spring-demo”的项目,显然旨在展示如何使用Spring框架的几个关键组件:Spring JDBC、Spring MVC以及Spring业务层来构建一个完整的Web应用。下面将详细阐述这些知识点。 1. **Spring JDBC**: Spring ...
Struts的Action通常被设计为Spring的Bean,由Spring进行实例化和依赖注入。同时,Spring可以通过DataSourceTransactionManager管理事务,实现事务的统一控制。iBatis则作为数据访问层,与Spring结合后,可以利用...
在本示例中,我们将深入探讨如何利用Spring框架与JDBC进行整合,以实现一个简单的转账...这个demo源代码提供了学习和理解Spring JDBC集成以及事务管理的起点,有助于开发者更好地理解和运用Spring在实际项目中的功能。
本篇将通过介绍"springdemo"这个入门实例,帮助您快速理解并掌握Spring的基本开发结构。 一、Spring框架简介 Spring是一个开源的Java平台,它主要为了解决企业应用开发的复杂性而设计。它提供了全面的编程和配置...