三期_day05_Dao层的准备工作_II

原创 2015年07月09日 09:04:04

工作目录:



实体类: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层后面在总结。


我是菜鸟,我在路上。


版权声明:have a nice day!

三期_day04_Dao层的准备工作_I

2015年6月14日 昨天考六级,前天玩了一天。今天又重新拿起。不出去自习了,在这里把所有页面和javascript脚本写完吧,还得熟悉一下EL表达式,好的就这样了。    ...
  • cjvs9k
  • cjvs9k
  • 2015年07月09日 08:33
  • 503

App开发之前的工作准备和开发中的一些流程

如:对application/baseactivity,图片加载,数据库等进行分析 每个人对应用框架的理解不相同,但是最终达到的效果应该是一样: 降低项目的复杂性易扩展、易修改、可重用性强、可维...
  • ShareUs
  • ShareUs
  • 2016年03月08日 17:59
  • 2805

三期_day09_信息+订单管理_II

一年之计在于春,一日之计在于晨,一家之和在于和,一生之计在于勤。                                                                    ...
  • cjvs9k
  • cjvs9k
  • 2015年07月11日 18:19
  • 611

机房收费系统个人版---SQLHelper

【前言】 又三层敲了一遍机房登录,感觉还比较好理解,运用还可以,但是到了七层,就有点手忙脚乱了,静下来,慢慢捋思路,终于有了雏形。七层无非是在三层的基础上加上设计模式和SQLHelper。今天对SQL...
  • dfshsdr
  • dfshsdr
  • 2017年04月09日 21:24
  • 286

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

数据库脚本 drop table crm_user_info; drop table crm_work_customer_relation; drop table crm_business; dro...
  • cjvs9k
  • cjvs9k
  • 2015年07月09日 08:19
  • 682

Java开发准备工作

安装JDK 安装方式 Oracle官方在Windows下面只发布了JDK的exe安装包. 这个安装包会做一些我们不清楚的事情,比如复制一些文件到系统的目录下面等。然而我们程序员必须能够...
  • MollyLau
  • MollyLau
  • 2016年07月05日 18:04
  • 515

html 开工前的准备工作(更新中……)

1,让 IE9 以下支持html5和媒体查询(ps:本地浏览不出效果,需要在服务器下浏览或者直接使用bootstrap链接。) ...
  • u010481557
  • u010481557
  • 2017年01月17日 13:56
  • 513

第13期《2018——你一定会在这里!》1月刊

1.Linux部署jboss引发的思考——刘雅雯 自荐理由:我们最开始用的发布工具是IIS,如今我们接触了JBoss和Tomcat,那么他们有什么不同呢?小编对比了一下,希望对看到的小伙伴有所帮助。...
  • TGBBlog
  • TGBBlog
  • 2018年01月06日 12:43
  • 322

结账-存储过程走过的坑

首先,说明不是只要执行多条语句创建个存储过程就完事了,有些情况下用了存储过程还要该一系列的代码,这个繁复程度不亚于直接执行语句。博主就被困在这里良久。 这里以结账为例。 U层 p...
  • q290994
  • q290994
  • 2018年01月13日 12:12
  • 73

微信小程序系列1(准备工作)

1.毫无疑问首先要注册一个账号,这里要强调的是如果之前注册过但不是小程序的账号类型,也需要重新注册。注册地址,如图所示我们选择小程序,用一个没有注册过公众平台的邮箱来注册,注册时会要求绑定一个微信账号...
  • u010189462
  • u010189462
  • 2017年04月19日 21:30
  • 479
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三期_day05_Dao层的准备工作_II
举报原因:
原因补充:

(最多只允许输入30个字)