工作文件夹:

实体类:UserInfo.java

package com.yc.crm.entity;

import java.util.Date;

public class UserInfo {

    private Integer uid;

    private String email;

    private String passwords;

    private String cname;

    private String phone;

    private Integer sex;

    private Integer age;

    private String address;

    private Integer level;

    private Integer pl;

    private Business bussiness;

    private Date createdate;

	public Integer getUid() {
return uid;
} public void setUid(Integer uid) {
this.uid = uid;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
} public String getPasswords() {
return passwords;
} public void setPasswords(String passwords) {
this.passwords = passwords;
} public String getCname() {
return cname;
} public void setCname(String cname) {
this.cname = cname;
} public String getPhone() {
return phone;
} public void setPhone(String phone) {
this.phone = phone;
} public Integer getSex() {
return sex;
} public void setSex(Integer sex) {
this.sex = sex;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} public Integer getLevel() {
return level;
} public void setLevel(Integer level) {
this.level = level;
} public Integer getPl() {
return pl;
} public void setPl(Integer pl) {
this.pl = pl;
} public Business getBussiness() {
return bussiness;
} public void setBussiness(Business bussiness) {
this.bussiness = bussiness;
} public Date getCreatedate() {
return createdate;
} public void setCreatedate(Date createdate) {
this.createdate = createdate;
} @Override
public String toString() {
return "UserInfo [uid=" + uid + ", email=" + email + ", passwords="
+ passwords + ", cname=" + cname + ", phone=" + phone
+ ", sex=" + sex + ", age=" + age + ", address=" + address
+ ", level=" + level + ", pl=" + pl + ", bussiness="
+ bussiness + ", createdate=" + createdate + "]";
} }

2.配置文件UserInfoMapper.xml

<?xml version="1.0" encoding="UTF-8" ?

>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yc.crm.mapper.UserInfoMapper"> <resultMap id="BaseResultMap" type="com.yc.crm.entity.UserInfo">
<id column="CRM_ID" property="uid" />
<result column="EMAIL" property="email" />
<result column="PASSWORDS" property="passwords" />
<result column="CNAME" property="cname" />
<result column="PHONE" property="phone" />
<result column="SEX" property="sex" />
<result column="AGE" property="age" />
<result column="ADDRESS" property="address" />
<result column="USERLEVEL" property="level" />
<result column="PL" property="pl" />
<result column="CREATEDATE" property="createdate" />
<association property="bussiness"
resultMap="com.yc.crm.mapper.BusinessMapper.BaseResultMap" />
</resultMap> <delete id="deleteUserByUid" parameterType="int">
delete crm_user_info where crm_id=#{uid}
</delete> <update id="modify" parameterType="UserInfo">
update crm_user_info
<set>
<if test="passwords!=null and passwords!=''">
passwords=#{passwords},
</if>
phone=#{phone},sex=#{sex},"AGE"=#{age},userlevel=#{level},address=#{address} where email=#{email}
</set>
</update> <select id="getUserInfoById" parameterType="int" resultMap="BaseResultMap">
select * from crm_user_info u join crm_business b on
u.bussiness_id=b.business_id where u.crm_id=#{id}
</select> <select id="vailEmail" resultType="int">
select count(*) from crm_user_info where email=#{email}
</select> <select id="findUser" parameterType="UserInfo" resultMap="BaseResultMap">
select * from crm_user_info u join crm_business b on
u.bussiness_id=b.business_id where u.email=#{email} and
u.passwords=#{passwords}
</select> <update id="updateUserInfoDate" parameterType="UserInfo">
update crm_user_info set createdate=sysdate where email=#{email}
</update> <insert id="insertUserInfo" parameterType="UserInfo">
<selectKey resultType="int" order="BEFORE" keyProperty="uid">
SELECT SEQ_CRM_USER_INFO_SEQ.Nextval from DUAL
</selectKey>
insert into crm_user_info values(#{uid},#{email},#{passwords},#{cname},#{phone},#{sex},#{age},#{address},#{level},#{pl},#{bussiness.businessId},sysdate)
</insert> </mapper>

3.与配置文件相应的接口UserInfoMapper.java

package com.yc.crm.mapper;

import com.yc.crm.entity.UserInfo;

public interface UserInfoMapper {
UserInfo getUserInfoById(int id);
int insertUserInfo(UserInfo userInfo);
UserInfo findUser(UserInfo userInfo);
int updateUserInfoDate(UserInfo userInfo);
int vailEmail(String email);
int modify(UserInfo userInfo);
int deleteUserByUid(int uid);
}

4.測试类

package com.yc.crm.test.conn;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.yc.crm.biz.UserInfoService;
import com.yc.crm.entity.Business;
import com.yc.crm.entity.UserInfo;
import com.yc.crm.utils.Encrypt; @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring.xml")
public class TestUserInfoImplTest { @Autowired
private UserInfoService userInfoService; @Test
public void testDelete(){
UserInfo ui=new UserInfo();
ui.setUid(84);
int result=userInfoService.deleteUserInfo(ui);
System.out.println(result);
} /*
* UserInfo [uid=1116, email=testadd6@qq.com,
* passwords=900150983cd24fb0d6963f7d28e17f72, cname=測试加入6,
* phone=15211441233, sex=1, age=21, address=USCofChina, level=0, pl=0,
* bussiness=Business [businessId=104, businessName=奔驰4S,
* businessType=<200], createdate=Wed Jun 24 16:47:02 CST 2015]
*/
@Test
public void testModify() {
UserInfo ui = userInfoService.getInfo(1116);
ui.setAddress("这是新的。看看能成功吗");
ui.setPasswords("hehe");
ui = userInfoService.modify(ui);
System.out.println(ui);
} @Test
public void testVailEmail() {
int re = userInfoService.vailEmail("chenjian@qq.com");
System.out.println(re);
} @Test
public void testLogin() {
UserInfo ui = new UserInfo();
ui.setEmail("chenjian@qq.com");
ui.setPasswords(Encrypt.md5("abc"));
ui = userInfoService.login(ui);
System.out.println(ui);
} @Test
public void testGetUserInfoById() {
UserInfo ui = userInfoService.getInfo(1116);
System.out.println(ui);
} @Test
public void testInsertUserInfo() {
UserInfo userinfo = new UserInfo();
userinfo.setAddress("纽约");
userinfo.setAge(23);
Business b = new Business();
b.setBusinessId(102);
userinfo.setBussiness(b);
userinfo.setCname("淡定淡定淡定");
userinfo.setEmail("che@qq.com");
userinfo.setLevel(4);
userinfo.setPasswords("abc");
userinfo.setPhone("15544778788");
userinfo.setPl(0);
userinfo.setSex(0);
System.out.println(userinfo);
boolean isSucccess = userInfoService.register(userinfo, 1005);
int id = userinfo.getUid();
System.out.println("isSucccess is :" + isSucccess);
System.out.println("id is :" + id);
}
}

已经完毕了Dao层和Model层,Service和Action层后面在总结。

我是菜鸟。我在路上。

三期_day05_Dao层的准备工作_II的更多相关文章

  1. Windows 10 下 Linux 子系统的安装和使用

    介绍 适用于 Windows 的 Linux 子系统(英语:Windows Subsystem for Linux,简称 WSL)是一个为在 Windows 10 和 Windows Server 2 ...

  2. 三期_day02_数据库表设计和开发准备工作

    数据库脚本 drop table crm_user_info; drop table crm_work_customer_relation; drop table crm_business; drop ...

  3. 架构设计:负载均衡层设计方案(2)——Nginx安装

    来源:http://blog.csdn.net/yinwenjie(未经允许严禁用于商业用途!) 目录(?)[-] Nginx重要算法介绍 1一致性Hash算法 2轮询与加权轮询 Nginx的安装 1 ...

  4. 从零开始编写自己的C#框架(2)——开发前准备工作

    没想到写了个前言就受到很多朋友的支持,大家的推荐就是我最大的动力(推荐得我热血沸腾,大家就用推荐来猛砸我吧O^-^O),谢谢大家支持. 其实框架开发大家都知道,不过要想写得通俗点,我个人觉得还是挺吃力 ...

  5. 第五章 征服数据库(Spring对DB的使用)——开发持久层

    本章内容: 定义Spring对数据库访问的支持 配置数据库资源 使用Spring的JDBC模板 在几乎所有的企业级应用中,都需要构建数据持久层.现在意义上的数据持久层是指把对象或者数据保存到数据库中, ...

  6. 【position也可以很复杂】当弹出层遇上了鼠标定位(下)

    前言 接着昨天的内容写,为了保证内容连续性,这里还是把昨天的内容拷了过来. 请用现代浏览器测试 引出问题 有图有真相,我们来看一个智联招聘里面经常出现的图层: 他这个是没有什么问题的,我们来简单看看其 ...

  7. 【position也可以很复杂】当弹出层遇上了鼠标定位(上)

    前言 周五时同事有一个关于弹出层的问题没有解决,但是面临下班问题,我有点不舒服,便叫回去周六过来解决,但是上周六病了,所以请了个假,于是故事发生啦.... 今天上班时候,组员们卡到了那个地方,然后结果 ...

  8. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【二】——使用Repository模式构建数据库访问层

    系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在数据访问层应用Repository模式来隔离对领域对象的细节操作是很有意义的.它位于映射层 ...

  9. 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

随机推荐

  1. javascript 使用 load 和 unload 事件,解决浏览器打开和关闭时需要做的操作。

    最近有一个业务,就是修改一个业务需要加上锁.也就是打开浏览器时,加锁.等用户操作完毕,关掉浏览器之后在把锁打开.一开始想问题很局限.只是想着,关闭浏览器解锁,刷新页面不做操作.然后就一直在找在调用un ...

  2. 如何用DOM 元素就能画出国宝熊猫

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/odKrpy 可交互视频教 ...

  3. Mysql 随机函数 rand()

    rand() 函数主要有两个用处: 1.是产生随机数, 2.是随机排序(在数据较大的时候会变成性能杀手) 实例: 1.产生一个随机数,默认0~1之间的浮点数 SELECT RAND( ) 2.参数指定 ...

  4. mysql函数总结

    MySQL函数 MySQL数据库提供了很多函数包括: 数学函数:字符串函数:日期和时间函数:条件判断函数:系统信息函数:加密函数:格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点数 ...

  5. python--FTP 上传视频示例

    # 服务端 import json import socket import struct server = socket.socket() server.bind(('127.0.0.1',8001 ...

  6. POJ:2753-Seek the Name, Seek the Fame

    Seek the Name, Seek the Fame Time Limit: 2000MS Memory Limit: 65536K Description The little cat is s ...

  7. Tomcat下部署PHP

    php线程安全版和非线程安全版本区别 1.windows + IIS + FastCGI :使用非线程安全版本. 解释: 以FastCGI方式安装PHP时,PHP拥有独立的进程,并且FastCGI是单 ...

  8. Exchange 2010 打补丁的顺序

    升级的顺序: 客户端访问服务器 ——> 集线器传输服务器 ——>统一消息服务器(如果有的话)——> 邮箱服务器 ——> 边缘服务器.

  9. luogu2526 [SHOI2001]小狗散步

    注意一个景点只能去一次. #include <iostream> #include <cstring> #include <cstdio> #include < ...

  10. python基础-面向对象(类)

    类 类的定义 >>> class P: ...     pass ... >>> P <class __main__.P at 0x0000000001F4B ...