1. //User实体类
  2. package com.tao.pojo;
  3.  
  4. public class User {
  5.  
  6. private int id;
  7. private String name;
  8. private String gender;
  9.  
  10. public User() {
  11. super();
  12. }
  13. public User(int id, String name, String gender) {
  14. super();
  15. this.id = id;
  16. this.name = name;
  17. this.gender = gender;
  18. }
  19. public int getId() {
  20. return id;
  21. }
  22. public void setId(int id) {
  23. this.id = id;
  24. }
  25. public String getName() {
  26. return name;
  27. }
  28. public void setName(String name) {
  29. this.name = name;
  30. }
  31. public String getGender() {
  32. return gender;
  33. }
  34. public void setGender(String gender) {
  35. this.gender = gender;
  36. }
  37. @Override
  38. public String toString() {
  39. return "User [id=" + id + ", name=" + name + ", gender=" + gender + "]";
  40. }
  41.  
  42. }
  43.  
  44. //Userdao方法
  45.  
  46. package com.tao.dao;
  47.  
  48. import java.util.List;
  49.  
  50. import com.tao.pojo.User;
  51.  
  52. public interface UserDAO {
  53.  
  54. //添加数据库
  55. public boolean save(User user);
  56. //更新数据
  57. public boolean update(User user);
  58. //根据ID删除数据
  59. public boolean deleteById(int id);
  60. //查询所有
  61. public List<User> QueryAll();
  62. //根据ID查询
  63. public User QueryById(int id);
  64.  
  65. }
  66.  
  67. //UserDAOImpl实现类
  68.  
  69. package com.tao.impl;
  70.  
  71. import java.sql.ResultSet;
  72. import java.sql.SQLException;
  73. import java.util.ArrayList;
  74. import java.util.List;
  75. import java.util.Map;
  76.  
  77. import javax.sql.DataSource;
  78.  
  79. import org.springframework.jdbc.core.JdbcTemplate;
  80. import org.springframework.jdbc.core.RowMapper;
  81.  
  82. import com.tao.dao.UserDAO;
  83. import com.tao.pojo.User;
  84.  
  85. public class UserDAOImpl implements UserDAO{
  86. //生成Template的set方法
  87. private JdbcTemplate jdbcTemplate;
  88. public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
  89. this.jdbcTemplate = jdbcTemplate;
  90. }
  91.  
  92. // 返回结果与实体类类做对应用的
  93. RowMapper<User> mappUser=new RowMapper<User>() {
  94.  
  95. @Override
  96. public User mapRow(ResultSet rs, int rowNum) throws SQLException {
  97. // TODO Auto-generated method stub
  98. User user = new User();
  99. user.setId(rs.getInt("id"));
  100. user.setName(rs.getString("name"));
  101. user.setGender(rs.getString("gender"));
  102. return user;
  103. }
  104. };
  105.  
  106. @Override
  107. public boolean save(User user) {
  108. // TODO Auto-generated method stub
  109. int rows = jdbcTemplate.update("insert into user values(?,?,?)", user.getId(),user.getName(),user.getGender());
  110. if (rows>0) {
  111. return true;
  112. }
  113. return false;
  114. }
  115.  
  116. @Override
  117. public boolean update(User user) {
  118. // TODO Auto-generated method stub
  119. int rows = jdbcTemplate.update("update user set name=?,gender=? where id=?",user.getName(),user.getGender(),user.getId());
  120. if(rows>0) {
  121. return true;
  122. }
  123. return false;
  124. }
  125. //根据ID删除
  126. @Override
  127. public boolean deleteById(int id) {
  128. // TODO Auto-generated method stub
  129. int rows = jdbcTemplate.update("delete from user where id=?", id);
  130. if (rows>0) {
  131. return true;
  132. }
  133. return false;
  134. }
  135.  
  136. @Override
  137. public List<User> QueryAll() {
  138. // TODO Auto-generated method stub
  139. List<Map<String,Object>> listMap = jdbcTemplate.queryForList("select * from user");
  140. ArrayList<User> list = new ArrayList<User>();
  141. for(int i=0;i<listMap.size();i++) {
  142. User user = new User();
  143. Map<String, Object> map = listMap.get(i);
  144. user.setId((int) map.get("id"));
  145. user.setName((String) map.get("name"));
  146. user.setGender((String) map.get("gender"));
  147. list.add(user);
  148. }
  149. return list;
  150. }
  151. //根据ID查询
  152. @Override
  153. public User QueryById(int id) {
  154. // TODO Auto-generated method stub
  155. User user = jdbcTemplate.queryForObject("select * from user where id=?", new Object[] {id}, mappUser);
  156. return user;
  157. }
  158. //统计人数
  159. public int GetCount() {
  160. Integer count = jdbcTemplate.queryForObject("select count(id) from user", Integer.class);
  161. return count;
  162. }
  163.  
  164. }
  165.  
  166. //applicationContext.xm文件在src目录下
  167.  
  168. <?xml version="1.0" encoding="UTF-8"?>
  169. <beans xmlns="http://www.springframework.org/schema/beans"
  170. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  171. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
  172.  
  173. <!-- 数据源 -->
  174. <bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSources">
  175. <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
  176. <property name="url" value="jdbc:mysql://localhost:3306/test0116_spring?characterEncoding=utf-8"></property>
  177. <property name="username" value="root"></property>
  178. <property name="password" value="root"></property>
  179. </bean>
  180. <!-- DataSource 注入Template -->
  181. <!-- 单独配置JDBCTemplatebean ref是指将数据源注给Template-->
  182. <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate">
  183. <property name="dataSource" ref="dataSources"></property>
  184. </bean>
  185. <!-- ref 引用的是Template -->
  186. <bean class="com.tao.impl.UserDAOImpl" id="UserDAO">
  187. <property name="jdbcTemplate" ref="jdbcTemplate"></property>
  188. </bean>
  189.  
  190. </beans>
  191.  
  192. //test 测试类
  193.  
  194. package com.tao.test;
  195.  
  196. import java.util.List;
  197.  
  198. import org.junit.Before;
  199. import org.junit.Test;
  200. import org.springframework.context.ApplicationContext;
  201. import org.springframework.context.support.ClassPathXmlApplicationContext;
  202.  
  203. import com.tao.impl.UserDAOImpl;
  204. import com.tao.pojo.User;
  205.  
  206. public class TestUser {
  207. UserDAOImpl users ;
  208. @Before
  209. public void TestB() {
  210. ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
  211. users = context.getBean("UserDAO", UserDAOImpl.class);
  212. }
  213.  
  214. //保存
  215. @Test
  216. public void testSave() {
  217. User user = new User(6, "可可", "男");
  218. boolean b = users.save(user);
  219. System.out.println(b);
  220. }
  221.  
  222. //更新数据
  223. @Test
  224. public void TestUpdate() {
  225. User user = new User(1, "vv", "女");
  226. boolean b = users.update(user);
  227. System.out.println(b);
  228.  
  229. }
  230. //根据ID删除数据
  231. @Test
  232. public void TestDelete() {
  233. boolean b = users.deleteById(6);
  234. System.out.println(b);
  235. }
  236. //根据ID查询数据
  237. @Test
  238. public void TestQueryID() {
  239. User user = users.QueryById(5);
  240. System.out.println(user);
  241.  
  242. }
  243. //查询所有
  244. @Test
  245. public void TestQueryAll() {
  246. List<User> list = users.QueryAll();
  247. for(User uu:list) {
  248. System.out.println(uu);
  249. }
  250. }
  251. //统计人数
  252. @Test
  253. public void testCount() {
  254. int count = users.GetCount();
  255. System.out.println(count);
  256.  
  257. }
  258.  
  259. }
  260.  
  261. 所需jar包如图所示(必须的6个,再加一个 logging,数据库的一个jdbc,事物的一个jdbc,)
  1.  

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. Python__flask初识

    1.  debug:在app.run()里面加上app.run(debug=True), 在浏览器中调试的时候可以直接显示出错误. 2.  在url中传递参数,可以这样 @app.route('/ch ...

  2. Construct Binary Tree from Inorder and Postorder Traversal(根据中序遍历和后序遍历构建二叉树)

    根据中序和后续遍历构建二叉树. /** * Definition for a binary tree node. * public class TreeNode { * int val; * Tree ...

  3. 双机热备ROSE HA工作原理

    双机热备ROSE HA工作原理 当双机热备软件启动后,ROSE HA首先启动HA Manager管理程序,根据高可靠性系统的配置结构初始化,然后启动必要的服务和代理程序来监控和管理系统服务.HA代理程 ...

  4. Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。

    Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径.   Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其 ...

  5. Storyboard的几点缺憾

    Storyboard作为iOS主推的UI开发方式,不管接受也好,不接受也好,在未来几年,都会逐渐在产业界流行,之前bignerd在其ios开发第四版中,作者曾经说过一节的Storyboard优缺点分析 ...

  6. Nowcoder84D

    Nowcoder84D 传送门 很有趣的进制转换题! 如果x满足题意,那么x+k-1一定能符合要求! 因为k-1用k进制表示就是1,-1,1+(-1)=0所以数位之和不变! 用map维护一下前缀和.就 ...

  7. Eclipse常用插件 + Eclipse快捷键

    J2EE开发IDE,常用的有Eclipse.Myeclipse.Intellij IDEA 版本(Luna):http://www.eclipse.org/downloads/     版本(2015 ...

  8. springboot~为Money类型添加最大值和最小值的注解校验

    在spring框架里,为我们集成了很多校验注解,直接在字段上添加对应的注解即可,这些注解基本都是简单保留类型的,即int,long,float,double,String等,而如果你自己封装了新的类, ...

  9. java解析xml字符串方法

    一,用DOM4J  针对无重复标签的xml字符串格式,如下: 针对此种情况可用DOM4J解析法,引入 dom4j的相关jar包代码如下: Document document=DocumentHelpe ...

  10. 使用Myeclipse2015构建SpringMVC项目

    1.新建web project 2.右键项目,给项目添加spring框架如图,不需要勾选任何一个选项. 3.在WebRoot/WEB-INF目录下添加web.xml内容如下: <?xml ver ...