Spring七大模块之DAO(上)
来源:互联网 发布:java 淘淘商城 编辑:程序博客网 时间:2024/05/21 17:57
Spring的Dao模块式Spring框架中对应持久层的解决方式,提供了对JDBC、Hibernate、JDO等DAO层支持。
Spring框架对JDBC进行了封装,完全抛弃了JDBC API。数据库连接、事务等也交给了Spring打点,开发者只需要使用封装好的JdbcTemplate执行SQL语句,然后得到需要的结果。
需要的包:
项目目录:
User.java
public class User implements Serializable{ private int uId; //用户的id private String uName; //用户名 private String uPassword; //密码 public User() { } public User(int uId, String uName, String uPassword) { this.uId = uId; this.uName = uName; this.uPassword = uPassword; } public int getuId() { return uId; } public void setuId(int uId) { this.uId = uId; } public String getuName() { return uName; } public void setuName(String uName) { this.uName = uName; } public String getuPassword() { return uPassword; } public void setuPassword(String uPassword) { this.uPassword = uPassword; } @Override public String toString() { return "User [uId=" + uId + ", uName=" + uName + ", uPassword=" + uPassword + "]"; }}
IUserDao.java
public interface IUserDao { /** * 保存用户数据 * @param user * @throws Exception */ public void save(User user) throws Exception; /** * 删除数据 * @param user */ public void delete(User user)throws Exception; /** * 修改数据 * @param user */ public void update(User user)throws Exception; /** * 查询数据 * @param user */ public void query(User user)throws Exception;}
UserDao.java
public class UserDao implements IUserDao{ //下面这个就是访问数据库的对象 private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @Override public void save(User user) throws Exception{ String sql="insert into t_user(uName,uPassword) values(?,?)"; jdbcTemplate.update(sql,user.getuName(),user.getuPassword()); } @Override public void delete(User user) throws Exception{ String sql="delete from t_user where uId=?"; jdbcTemplate.update(sql,user.getuId()); } @Override public void update(User user) throws Exception{ String sql="update t_user set uName=?,uPassword=? where uId=?"; jdbcTemplate.update(sql,user.getuName(),user.getuPassword(),user.getuId()); } @Override public void query(User user) throws Exception{ String sql="select * from t_user"; List<User> users=jdbcTemplate.query(sql,new RowMapper<User>(){ @Override public User mapRow(ResultSet set, int number) throws SQLException { int uId=set.getInt("uId"); String uName=set.getString("uName"); String uPassword=set.getString("uPassword"); return new User(uId, uName, uPassword); } }); System.out.println("数据是:"+users); }}
IUserService.java
public interface IUserService { /** * 保存用户数据 * @param user * @throws Exception */ public void save(User user) throws Exception; /** * 删除数据 * @param user */ public void delete(User user)throws Exception; /** * 修改数据 * @param user */ public void update(User user)throws Exception; /** * 查询数据 * @param user */ public void query(User user)throws Exception;}
UserService.java
public class UserService implements IUserService{ private IUserDao userDao=null; public void setUserDao(IUserDao userDao) { this.userDao = userDao; } @Override public void save(User user) throws Exception { if("".equals(user.getuName())||"".equals(user.getuPassword())){ throw new RuntimeException("参数有问题..."); } userDao.save(user); } @Override public void delete(User user) throws Exception{ if(user.getuId()<=0){ throw new RuntimeException("参数有误...."); } userDao.delete(user); } @Override public void update(User user) throws Exception{ if(user.getuId()<=0){ throw new RuntimeException("参数有误...."); } userDao.update(user); } @Override public void query(User user) throws Exception { userDao.query(user); }}
bean.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!--配置我们的数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="acquireIncrement" value="2"></property> <property name="maxPoolSize" value="100"></property> <property name="minPoolSize" value="2"></property> <property name="maxStatements" value="100"></property> <!--连接数据库的信息--> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql:///test01"></property> <property name="user" value="root"></property> <property name="password" value="123456"></property> </bean> <!--dao --> <bean id="userDao" class="com.wc.jdbc.dao.impl.UserDao" p:jdbcTemplate-ref="jdbcTemplate"></bean> <!--Service --> <bean id="userService" class="com.wc.jdbc.service.impl.UserService" p:userDao-ref="userDao"></bean> <!--配置访问数据库的类 --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean></beans>
下一章:Spring七大模块之DAO (下) 会讲到事务。
阅读全文
0 0
- Spring七大模块之DAO(上)
- Spring七大模块之DAO (下)
- Spring之DAO模块
- Spring之DAO模块
- Spring七大模块之Core
- Spring七大模块之AOP
- spring 框架七大模块
- Spring的七大模块
- Spring的七大模块
- Spring七大模块
- spring七大模块介绍
- spring初涉--七大模块
- Spring的七大模块
- spring 七大框架模块
- Spring的七大模块
- spring 的七大模块
- spring七大模块
- Spring的七大模块
- Excel表格怎么批量导出图片将文件中的图片导出到文件夹中
- 简单字符串的替换(把元音字母替换为“*”)
- Centos7关闭防火墙
- laravel5.4框架微信,支付宝等支付和退款使用第三方插件Omnipay
- centos 搭建java环境变量、Tomcat
- Spring七大模块之DAO(上)
- [bzoj2287]【POJ Challenge】消失之物 背包DP
- ContainsDuplicate
- Debian安装HP 1020
- 前置机
- 添加Spring事务报错:java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWo
- yii2批量插入数据与查询大量数据使用batch和each省内存
- 表格标签
- lnmp ssl