改造上一版本的DAO层

简易的CRM系统案例之Struts2+JSP+MySQL版本

src文件下hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>
<!-- 通常,一个session-factory节点代表一个数据库 -->
<session-factory> <!-- 1. 数据库连接配置 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///infos</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<!--
数据库方法配置, hibernate在运行的时候,会根据不同的方言生成符合当前数据库语法的sql
-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 2. 其他相关配置 -->
<!-- 2.1 显示hibernate在运行时候执行的sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 2.2 格式化sql -->
<property name="hibernate.format_sql">true</property>
<!-- 2.3 自动建表 -->
<property name="hibernate.hbm2ddl.auto">update</property> <!-- 3. 加载所有映射 -->
<mapping resource="com/loaderman/crm/entity/Account.hbm.xml"/>
<mapping resource="com/loaderman/crm/entity/User.hbm.xml"/>
<mapping resource="com/loaderman/crm/entity/Policy.hbm.xml"/> </session-factory>
</hibernate-configuration>

User.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.loaderman.crm.entity"> <class name="User" table="t_user">
<!-- 主键 ,映射-->
<id name="id" column="id">
<generator class="native"/>
</id>
<!-- 非主键,映射 -->
<property name="name" column="name"></property>
<property name="sex" column="sex"></property>
<property name="age" column="age"></property>
<property name="telephone" column="telephone"></property>
<property name="idCard" column="idCard"></property>
<property name="address" column="address"></property>
<property name="weixin" column="weixin"></property>
<property name="qq" column="qq"></property>
<property name="email" column="email"></property>
<property name="job" column="job"></property>
<property name="area" column="area"></property>
<property name="grade" column="grade"></property>
<property name="remark" column="remark"></property> </class> </hibernate-mapping>
package com.loaderman.crm.dao.impl;

import com.loaderman.crm.dao.BaseDao;
import com.loaderman.crm.dao.UserDao;
import com.loaderman.crm.entity.User;
import com.loaderman.crm.util.HibernateUtils;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions; import java.util.List; public class UserDaoimp extends BaseDao implements UserDao { @Override
//获取所有客户信息
public List<User> getAllUser() {
Session session = null;
Transaction tx = null;
try {
session = HibernateUtils.getSession();
tx = session.beginTransaction();
Query q = session.createQuery(" from User");
return q.list();
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
tx.commit();
session.close();
} } @Override
public User getUserMoreInfo(User user) { Session session = null;
Transaction tx = null;
try {
session = HibernateUtils.getSession();
tx = session.beginTransaction();
return (User) session.get(User.class, user.getId());
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
tx.commit();
session.close();
} } @Override
public List<User> getUserByName(String name) { Session session = null;
Transaction tx = null;
try {
session = HibernateUtils.getSession();
tx = session.beginTransaction();
Query q = session.createQuery("from User where name=?");
// 注意:参数索引从0开始
q.setParameter(0, name);
// 执行查询
return q.list();
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
tx.commit();
session.close();
}
} @Override
//添加学生
public int addUser(User user) {
Session session = null;
Transaction tx = null;
try {
session = HibernateUtils.getSession();
tx = session.beginTransaction();
session.save(user);
return 1;
} catch (Exception e) {
throw new RuntimeException(e); } finally {
tx.commit();
session.close();
}
} @Override
//删除
public int delUser(User user) {
Session session = null;
Transaction tx = null;
try {
session = HibernateUtils.getSession();
tx = session.beginTransaction();
// 先根据id查询对象,再判断删除
Object obj = session.get(User.class, user.getId());
if (obj != null) {
session.delete(obj);
}
return 1;
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
tx.commit();
session.close();
} } @Override
public int modifyUser(User user) {
Session session = null;
Transaction tx = null;
try {
session = HibernateUtils.getSession();
tx = session.beginTransaction();
session.update(user);
return 1;
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
tx.commit();
session.close();
} } //查找指定的客户存在不存在
public boolean findUser(User user) { Session session = HibernateUtils.getSession();
Transaction tx = session.beginTransaction();
Criteria criteria = session.createCriteria(User.class);
// 构建条件
criteria.add(Restrictions.eq("name", user.getName()));
criteria.add(Restrictions.eq("telephone", user.getTelephone()));
List list = criteria.list();
System.out.println("查询用户"+list.size()); tx.commit();
session.close();
if (list.size()>0){
return true;
}else {
System.out.println("没有查询到");
return false;
} } }

点击下载源码

简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本的更多相关文章

  1. 简易的CRM系统案例之Struts2&Spring整合+Hibernate3+JSP+MySQL版本

    主要对上一篇Struts2&Spring整合的改造 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本 src/bean.xml <beans xmlns ...

  2. 简易的CRM系统案例之Struts2+JSP+MySQL版本

    对简易的CRM系统案例之Servlet+Jsp+MySQL版本改进 Servlet优化为Struts2 学习 <?xml version="1.0" encoding=&qu ...

  3. 简易的CRM系统案例之易的CRM系统案例之JSP+MySQL+SSH框架版本

    主要对上一篇hibernate与Spring进行整合改进 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本 bean-base.xml <?xml versio ...

  4. 简易的CRM系统案例之SpringMVC+JSP+MySQL+myBatis框架版本

    主要对上一版DAO框架的替换hibernate变成myBatis 简易的CRM系统案例之SpringMVC+JSP+MySQL+hibernate框架版本 src/mybatis.xml <?x ...

  5. 简易的CRM系统案例之SpringMVC+JSP+MySQL+hibernate框架版本

    继续对上一版本进行改版,变成SpringMVC框架 简易的CRM系统案例之易的CRM系统案例之JSP+MySQL+SSH框架版本 src/spring.xml <?xml version=&qu ...

  6. 简易的CRM系统案例SpringBoot + thymeleaf + MySQL + MyBatis版本

    创建maven项目 pop.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns ...

  7. 简易的CRM系统案例之Servlet+Jsp+MySQL版本

    数据库配置 datebase.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/infos usernam ...

  8. CRM系统新思维

    客户关系管理系统(CRM系统)是管理公司当前以及未来潜在客户的系统,其主要目的是通过优化客户关系实现公司销售业绩的长期增长,它是企业信息系统的核心之一.目前,移动互联网.大数据以及人工智能技术发展日新 ...

  9. 有哪些适用于律师事务所的CRM系统?

    中国的经济发展和政治稳定给律师行业带来了巨大的空间.而互联网的发展也让律师事务所遍地开花.如何在大大小小的律所中脱颖而出,是每个律所都迫切需要解决的问题.为了让您的律师事务所在激烈的竞争中脱颖而出,今 ...

随机推荐

  1. HDU-5728-PowMod-求phi(i*n)前缀和+指数循环节

    HDU-5728-PowMod-求phi(i*n)前缀和+指数循环节 [Problem Description] 令\(k=\sum_{i=1}^m \varphi(i\cdot n)\ mod \ ...

  2. Activity之launchMode理解

    对于Activity中的四个lauchMode[standard(默认).singleTop.singleTask.singleInstance]的介绍网上已经有大把的文章了,但是在实际应用开发时,对 ...

  3. 【PAT-并查集-水题】L2-007-家庭房产

    L2-007. 家庭房产 给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(<=1000),随后N行,每行按下 ...

  4. git 获取 remote 的 url

    git 获取 remote 的 url git ls-remote --get-url [remote] 例如: git ls-remote --get-url origin  

  5. 在angular项目中使用web-component ----How to use Web Components with Angular

    原文: https://medium.com/@jorgecasar/how-to-use-web-components-with-angular-41412f0bced8 ------------- ...

  6. mysql官方下载安装教程(centos)

    Linux下Mysql 5.6.30 tar包安装 (2016-04-27 22:45:39) 转载▼ 环境:centos 6.4 x64 先下载mysql安装包 打开 http://dev.mysq ...

  7. ubuntu下新立得(synaptic)软件包管理器安装

    1.从ubuntu下的软件中心(面板主页中输入soft即可找到)搜索安装synaptic后,打开新立得一闪就自动关了.解决办法为: 1.1命令行下卸载,命令行下重新安装: 卸载: #purge表示卸载 ...

  8. python - scrapy 爬虫框架 ( redis去重 )

    1.  使用内置,并加以修改 ( 自定义 redis 存储的 keys ) settings 配置 # ############### scrapy redis连接 ################# ...

  9. selenium之python源码解读-expected_conditions

    一.expected_conditions 之前在 selenium之python源码解读-WebDriverWait 中说到,until方法中method参数,需要传入一个function对象,如果 ...

  10. [Functional Programming] Rewrite a reducer with functional state ADT

    For example we have a feature reducer like this: // selectCard :: String -> Action String export ...