三期_day05_Dao层的准备工作_II
工作文件夹:
实体类: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的更多相关文章
- Windows 10 下 Linux 子系统的安装和使用
介绍 适用于 Windows 的 Linux 子系统(英语:Windows Subsystem for Linux,简称 WSL)是一个为在 Windows 10 和 Windows Server 2 ...
- 三期_day02_数据库表设计和开发准备工作
数据库脚本 drop table crm_user_info; drop table crm_work_customer_relation; drop table crm_business; drop ...
- 架构设计:负载均衡层设计方案(2)——Nginx安装
来源:http://blog.csdn.net/yinwenjie(未经允许严禁用于商业用途!) 目录(?)[-] Nginx重要算法介绍 1一致性Hash算法 2轮询与加权轮询 Nginx的安装 1 ...
- 从零开始编写自己的C#框架(2)——开发前准备工作
没想到写了个前言就受到很多朋友的支持,大家的推荐就是我最大的动力(推荐得我热血沸腾,大家就用推荐来猛砸我吧O^-^O),谢谢大家支持. 其实框架开发大家都知道,不过要想写得通俗点,我个人觉得还是挺吃力 ...
- 第五章 征服数据库(Spring对DB的使用)——开发持久层
本章内容: 定义Spring对数据库访问的支持 配置数据库资源 使用Spring的JDBC模板 在几乎所有的企业级应用中,都需要构建数据持久层.现在意义上的数据持久层是指把对象或者数据保存到数据库中, ...
- 【position也可以很复杂】当弹出层遇上了鼠标定位(下)
前言 接着昨天的内容写,为了保证内容连续性,这里还是把昨天的内容拷了过来. 请用现代浏览器测试 引出问题 有图有真相,我们来看一个智联招聘里面经常出现的图层: 他这个是没有什么问题的,我们来简单看看其 ...
- 【position也可以很复杂】当弹出层遇上了鼠标定位(上)
前言 周五时同事有一个关于弹出层的问题没有解决,但是面临下班问题,我有点不舒服,便叫回去周六过来解决,但是上周六病了,所以请了个假,于是故事发生啦.... 今天上班时候,组员们卡到了那个地方,然后结果 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【二】——使用Repository模式构建数据库访问层
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在数据访问层应用Repository模式来隔离对领域对象的细节操作是很有意义的.它位于映射层 ...
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
随机推荐
- CSS3-::selection
“::selection”只能设置两个属性,一个就是background,另一个就是color属性,设置其他属性是没有任何效果的. ::selection使用语法: /*Webkit,Opera9.5 ...
- 【bug】 1118 Row size too large
1118 Row size too large Every table (regardless of storage engine) has a maximum row size of 65,535 ...
- day23 03 组合的例子
day23 03 组合的例子 一.用到组合的方式,编写一个圆环,并能够计算出它的周长和面积 from math import pi # 从内置函数里面导入pi # 先定义一个圆类 class Circ ...
- cs229_part2
part2 这节课主要讲的是生成式模型,那么与这个生成式模型相对于的就是我们上节课所讲那几个辨别式模型.所以生成式模型和辨别式模型的区别是什么呢.我先给出数学上的定义: 这是我们上节课线性回归所用的给 ...
- nw335 debian sid x86-64 -- 6 第三方驱动
nw335 debian sid x86-64 -- 6 第三方驱动
- chromedriver 下载
https://sites.google.com/a/chromium.org/chromedriver/downloads 百度网盘链接:https://pan.baidu.com/s/1nwL ...
- H5系列之History(必知必会)
H5系列之History(必知必会) 目录 概念 兼容性 属性 方法 H5方法 概念 理解History Api的使用方式 目的是为了解决哪些问题 作用:ajax获取数据时 ...
- oracle11gR2下scott用户以及表的建立
目录 oracle11gR2下scott用户以及表的建立 找到系统带的sql文件(utlsample.sql) 根据SQL的内容操作 新建用户并授权 scott登录 表操作 查询表(使用pl/sql) ...
- lamp环境配置,ubunutu下
Ubuntu下快速搭建LAMP环境过程记录: 安装 Apache2: sudo apt-get install apache2 安装PHP模块: sudo apt-get install php5 安 ...
- [Kubernetes]深入解析Pod
Pod是Kubernetes项目的原子调度单位 为什么需要Pod? 容器是未来云计算系统中的进程,容器镜像就是这个系统里的".exe"安装包,那Kubernetes就是操作系统. ...