当前位置:Gxlcms > 数据库问题 > Spring_JDBC

Spring_JDBC

时间:2021-07-01 10:21:17 帮助过:6人阅读

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

标签:res   classpath   word   username   div   int   root   his   save   

人气教程排行