//User实体类
package com.tao.pojo; public class User { private int id;
private String name;
private String gender; public User() {
super();
}
public User(int id, String name, String gender) {
super();
this.id = id;
this.name = name;
this.gender = gender;
}
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 String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", gender=" + gender + "]";
} } //Userdao方法 package com.tao.dao; import java.util.List; import com.tao.pojo.User; public interface UserDAO { //添加数据库
public boolean save(User user);
//更新数据
public boolean update(User user);
//根据ID删除数据
public boolean deleteById(int id);
//查询所有
public List<User> QueryAll();
//根据ID查询
public User QueryById(int id); } //UserDAOImpl实现类 package com.tao.impl; import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper; import com.tao.dao.UserDAO;
import com.tao.pojo.User; public class UserDAOImpl implements UserDAO{
//生成Template的set方法
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
} // 返回结果与实体类类做对应用的
RowMapper<User> mappUser=new RowMapper<User>() { @Override
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
// TODO Auto-generated method stub
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setGender(rs.getString("gender"));
return user;
}
}; @Override
public boolean save(User user) {
// TODO Auto-generated method stub
int rows = jdbcTemplate.update("insert into user values(?,?,?)", user.getId(),user.getName(),user.getGender());
if (rows>0) {
return true;
}
return false;
} @Override
public boolean update(User user) {
// TODO Auto-generated method stub
int rows = jdbcTemplate.update("update user set name=?,gender=? where id=?",user.getName(),user.getGender(),user.getId());
if(rows>0) {
return true;
}
return false;
}
//根据ID删除
@Override
public boolean deleteById(int id) {
// TODO Auto-generated method stub
int rows = jdbcTemplate.update("delete from user where id=?", id);
if (rows>0) {
return true;
}
return false;
} @Override
public List<User> QueryAll() {
// TODO Auto-generated method stub
List<Map<String,Object>> listMap = jdbcTemplate.queryForList("select * from user");
ArrayList<User> list = new ArrayList<User>();
for(int i=0;i<listMap.size();i++) {
User user = new User();
Map<String, Object> map = listMap.get(i);
user.setId((int) map.get("id"));
user.setName((String) map.get("name"));
user.setGender((String) map.get("gender"));
list.add(user);
}
return list;
}
//根据ID查询
@Override
public User QueryById(int id) {
// TODO Auto-generated method stub
User user = jdbcTemplate.queryForObject("select * from user where id=?", new Object[] {id}, mappUser);
return user;
}
//统计人数
public int GetCount() {
Integer count = jdbcTemplate.queryForObject("select count(id) from user", Integer.class);
return count;
} } //applicationContext.xm文件在src目录下 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd"> <!-- 数据源 -->
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSources">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/test0116_spring?characterEncoding=utf-8"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<!-- 将 DataSource 注入Template -->
<!-- 单独配置JDBCTemplate的bean ,ref是指将数据源注给Template-->
<bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate">
<property name="dataSource" ref="dataSources"></property>
</bean>
<!-- ref 引用的是Template的 -->
<bean class="com.tao.impl.UserDAOImpl" id="UserDAO">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean> </beans> //test 测试类 package com.tao.test; import java.util.List; import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.tao.impl.UserDAOImpl;
import com.tao.pojo.User; public class TestUser {
UserDAOImpl users ;
@Before
public void TestB() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
users = context.getBean("UserDAO", UserDAOImpl.class);
} //保存
@Test
public void testSave() {
User user = new User(6, "可可", "男");
boolean b = users.save(user);
System.out.println(b);
} //更新数据
@Test
public void TestUpdate() {
User user = new User(1, "vv", "女");
boolean b = users.update(user);
System.out.println(b); }
//根据ID删除数据
@Test
public void TestDelete() {
boolean b = users.deleteById(6);
System.out.println(b);
}
//根据ID查询数据
@Test
public void TestQueryID() {
User user = users.QueryById(5);
System.out.println(user); }
//查询所有
@Test
public void TestQueryAll() {
List<User> list = users.QueryAll();
for(User uu:list) {
System.out.println(uu);
}
}
//统计人数
@Test
public void testCount() {
int count = users.GetCount();
System.out.println(count); } } 所需jar包如图所示(必须的6个,再加一个 logging,数据库的一个jdbc,事物的一个jdbc,)
 

Spring_JDBC的更多相关文章

  1. [work]Spring_Jdbc

    封装Spring-RowMapper,使得使用更加灵活 import java.sql.ResultSet; import java.sql.SQLException; import java.uti ...

  2. Spring_JDBC连接

    1.导入jarbao 2.创建pojo,dao,Impl package com.tanlei.pojo; public class Department { private Long deptId; ...

  3. Spring学习笔记之整合hibernate

    1.web.xml里边要配置好对应的springxml的路径 <context-param> <param-name>contextConfigLocation</par ...

  4. rapid framework开发系列(一)

    定义:web项目脚手架 rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hiberna ...

  5. Spring的jdbc模板3:完成CURD操作

    测试类代码如下 package zcc.spring_jdbc.demo2; import java.sql.ResultSet; import java.sql.SQLException; impo ...

  6. Spring的jdbc模板1

    Spring是EE开发的一站式框架,有EE开发的每一层解决方案.Spring对持久层也提供了解决方案:ORM模块和jdbc模块,ORM模块在整合其他框架的时候使用 Spring提供了很多的模板用于简化 ...

  7. SpringBoot31 整合SpringJDBC、整合MyBatis、利用AOP实现多数据源

    一.整合SpringJDBC 1  JDBC JDBC(Java Data Base Connectivity,Java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数 ...

  8. Spring框架进阶3

    Spring框架进阶3 测试spring_jdbc和spring对事务的管理 先配置相应的pom <?xml version="1.0" encoding="UTF ...

  9. Java - 框架之 Spring

    一. IOC 和 DI IOC : 控制反转,将对象的创建权反转给了 Spring.DI  : 依赖注入,前提是必须要有 IOC 的环境,Spring 管理这个类的时候将类的依赖的属性注入(设置)进来 ...

随机推荐

  1. ruby轻松自删除代码

    因为windows的文件删除机制和unix like的不一样,so不保证如下代码能在windows中使用,哪位童鞋帮我在windows中测试一下也好啊! #!/usr/bin/ruby 5.times ...

  2. webpack.config.js配置文件

    1.基本配置 webpack在执行时,除在命令行传入参数,还可以通过指定的配置文件来执行.默认会搜索当前目录下webpack.config.js.这个文件是一个node.js模块,返回一个json格式 ...

  3. 鹅厂优文|打通小程序音视频和webRTC

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯视频云终端技术总监常青, 2008 年毕业加入腾讯,一直从事客户端研发相关工作,先后参与过 PC QQ.手机QQ.QQ物联 等产品 ...

  4. IT轮子系列(一)——DropDownList 的绑定(二)

    补记: 今天在阅读公司项目代码的时候,发现MVC中的dropdownlist已经封装了数据绑定方式.相对于第一篇文章,这样的方式更简便.简洁.现记录如下: 首先,创建我们的数据模型 如下图: 模型代码 ...

  5. Struts优缺点

    跟Tomcat.Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点.使开发者能更深入的了解其内部实现机制. Struts开放源码框架的创建是为了使开发者在构建基于Java Serv ...

  6. INCA二次开发-MIP

    1.INCA介绍 INCA是常用的汽车ECU测试和标定的,广泛应用于动力总成等领域.INCA提供了丰富的接口,供用户自动化.定制化.本公众号通过几篇文章,介绍下一些二次开发的方法,本篇介绍MIP. 2 ...

  7. Factory Method (工厂模式)

    什么是工厂设计模式 根据名字即可了解,工厂肯定是用来生产产品的,在我们的程序开发中,需要用到不同的类,对于熟悉SSH.SSM开发的可以知道,在初期学习的时候,总是有一个框架提供好的的factory供我 ...

  8. AWS技术会议笔记

    Intel和云: SDI:软件定义架构 3D-XPointer:可以媲美内存速度的SSD 应用可以控制L3 Cache的使用 Helix物联网设备用 精益创业之路: 如何快速获得第一批用户---先要养 ...

  9. Apriori算法-频繁项集-关联规则

    计算频繁项集: 首先生成一个数据集 def loadDataSet():     return [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]] 测试数据集da ...

  10. HTML 学习笔记 day one

    HTML学习笔记 day one Chapter one 网站开发基础 1.2网站的基本架构 网站的基本要素:内容,页面,超链接 动态网页和静态网页的区别在于:动态网页会自动更新,后缀名是.asp或者 ...