MyBatis入门

目录

MyBatis简介:

什么是ORM:

搭建MyBatis环境(工具:idea)

1、在pom.xml导入架包(如果工具是myEclipes需要部署jar文件)

2、创建MyBatis核心配置文件configuration.xml(我这里起的名是mybatis-config.xml)

3、创建持久化类POJO(也就是实体类)和SQL映射文件

工具类,创建SqlSession

sql映射文件(Bill商品)

供应商ProviderMapper

用户User

4、测试类

项目结构

mysql的SQL文件

测试myBagtis框架资源(含项目)


MyBatis简介:

MyBatis是一个开源的数据持久化层框架。他内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、储存过程和高级映射,几乎消除了所有JDBC代码和参数的手工设置以及结果集的检索。MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件中,实现SQL的灵活配置。

什么是ORM:

对象关系映射(Object/Relational Mapping,ORM)是一种数据持久化技术。他在对象模型和关系型数据库之间建立起对应关系,并且提供了一种机制,通过JavaBean对象去操作数据库表中的数据,基于ORM,MyBatis在对象模型和关系数据库的表之间建立了一座桥梁通过MyBaties,可以建立SQL关系映射,便捷地实现数据存储、查询、更改和删除操作。

搭建MyBatis环境(工具:idea)

1、在pom.xml导入架包(如果工具是myEclipes需要部署jar文件)

 <dependencies>
#myBatis
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.6</version>
    </dependency>

#mysql连接驱动
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.30</version>
    </dependency>
    
#Log4J
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
  </dependencies>

<build>

#资源扫描
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
</build>

2、创建MyBatis核心配置文件configuration.xml(我这里起的名是mybatis-config.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--数据库配置-->
    <properties>
    <property name="driver" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://127.0.0.1:3306/smbms?useUnicode=true&amp;characterEncoding=utf-8"/>
    <property name="user" value="root"/>
    <property name="password" value="root"/>
    </properties>

    <!--配置mybatis的log实现为log4j-->
    <settings>
        <setting name="logImpl" value="LOG4J"/>
        <!--none:禁止自动匹配-->
        <!--FULL:会自动映射任意复杂的结果(嵌套的或其他情况)-->
        <!--PARTIAL:不做映射,如果属性名和数据库字段名一致,会自动映射-->
        <setting  name="autoMappingBehavior" value="PARTIAL"/>
    </settings>
<!--    <typeAliases>
        &lt;!&ndash;映射类&ndash;&gt;
        &lt;!&ndash;<typeAlias type="cn.kgc.smbms.pojo.User" alias="user"/>&ndash;&gt;
        &lt;!&ndash;映射包&ndash;&gt;
        <package name="cn.kgc.smbms.pojo"/>
    </typeAliases>-->

    <!--<properties resource="database.properties"/>-->
    <environments default="development">
        <environment id="development">
            <!--事务管理的方式-->
            <transactionManager type="JDBC"></transactionManager>
            <!--mybatis自带数据源POOLED,JNDI:基于Tomcat数据源-->
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${user}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <!--mapper扫描-->
     <mappers>
        //扫描映射Mapper.xml文件
        <mapper resource="cn/kgc/smbms/dao/user/UserMapper.xml"/> 
        <mapper resource="cn/kgc/smbms/dao/bill/BillMapper.xml"/>
        <mapper resource="cn/kgc/smbms/dao/provider/ProviderMapper.xml"/>
    </mappers>
</configuration>

3、创建持久化类POJO(也就是实体类)和SQL映射文件

package cn.kgc.smbms.pojo;

import java.util.Date;

public class Role {
	
	private Integer id;   //id
	private String roleCode; //角色编码
	private String roleName; //角色名称
	private Integer createdBy; //创建者
	private Date creationDate; //创建时间
	private Integer modifyBy; //更新者
	private Date modifyDate;//更新时间
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getRoleCode() {
		return roleCode;
	}
	public void setRoleCode(String roleCode) {
		this.roleCode = roleCode;
	}
	public String getRoleName() {
		return roleName;
	}
	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}
	public Integer getCreatedBy() {
		return createdBy;
	}
	public void setCreatedBy(Integer createdBy) {
		this.createdBy = createdBy;
	}
	public Date getCreationDate() {
		return creationDate;
	}
	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}
	public Integer getModifyBy() {
		return modifyBy;
	}
	public void setModifyBy(Integer modifyBy) {
		this.modifyBy = modifyBy;
	}
	public Date getModifyDate() {
		return modifyDate;
	}
	public void setModifyDate(Date modifyDate) {
		this.modifyDate = modifyDate;
	}
	
}
package cn.kgc.smbms.pojo;

import java.math.BigDecimal;
import java.util.Date;

public class Bill {
	private Integer id;   //id 
	private String billCode; //账单编码 
	private String productName; //商品名称 
	private String productDesc; //商品描述 
	private String productUnit; //商品单位
	private BigDecimal productCount; //商品数量 
	private BigDecimal totalPrice; //总金额
	private Integer isPayment; //是否支付 
	private Integer providerId; //供应商ID 
	private Integer createdBy; //创建者
	private Date creationDate; //创建时间
	private Integer modifyBy; //更新者
	private Date modifyDate;//更新时间
	
	private String providerName;//供应商名称
	
	
	public String getProviderName() {
		return providerName;
	}
	public void setProviderName(String providerName) {
		this.providerName = providerName;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getBillCode() {
		return billCode;
	}
	public void setBillCode(String billCode) {
		this.billCode = billCode;
	}
	public String getProductName() {
		return productName;
	}
	public void setProductName(String productName) {
		this.productName = productName;
	}
	public String getProductDesc() {
		return productDesc;
	}
	public void setProductDesc(String productDesc) {
		this.productDesc = productDesc;
	}
	public String getProductUnit() {
		return productUnit;
	}
	public void setProductUnit(String productUnit) {
		this.productUnit = productUnit;
	}
	public BigDecimal getProductCount() {
		return productCount;
	}
	public void setProductCount(BigDecimal productCount) {
		this.productCount = productCount;
	}
	public BigDecimal getTotalPrice() {
		return totalPrice;
	}
	public void setTotalPrice(BigDecimal totalPrice) {
		this.totalPrice = totalPrice;
	}
	public Integer getIsPayment() {
		return isPayment;
	}
	public void setIsPayment(Integer isPayment) {
		this.isPayment = isPayment;
	}
	
	public Integer getProviderId() {
		return providerId;
	}
	public void setProviderId(Integer providerId) {
		this.providerId = providerId;
	}
	public Integer getCreatedBy() {
		return createdBy;
	}
	public void setCreatedBy(Integer createdBy) {
		this.createdBy = createdBy;
	}
	public Date getCreationDate() {
		return creationDate;
	}
	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}
	public Integer getModifyBy() {
		return modifyBy;
	}
	public void setModifyBy(Integer modifyBy) {
		this.modifyBy = modifyBy;
	}
	public Date getModifyDate() {
		return modifyDate;
	}
	public void setModifyDate(Date modifyDate) {
		this.modifyDate = modifyDate;
	}
	
	
}
package cn.kgc.smbms.pojo;

import java.util.Date;

public class Provider {
	
	private Integer id;   //id
	private String proCode; //供应商编码
	private String proName; //供应商名称
	private String proDesc; //供应商描述
	private String proContact; //供应商联系人
	private String proPhone; //供应商电话
	private String proAddress; //供应商地址
	private String proFax; //供应商传真
	private Integer createdBy; //创建者
	private Date creationDate; //创建时间
	private Integer modifyBy; //更新者
	private Date modifyDate;//更新时间
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getProCode() {
		return proCode;
	}
	public void setProCode(String proCode) {
		this.proCode = proCode;
	}
	public String getProName() {
		return proName;
	}
	public void setProName(String proName) {
		this.proName = proName;
	}
	public String getProDesc() {
		return proDesc;
	}
	public void setProDesc(String proDesc) {
		this.proDesc = proDesc;
	}
	public String getProContact() {
		return proContact;
	}
	public void setProContact(String proContact) {
		this.proContact = proContact;
	}
	public String getProPhone() {
		return proPhone;
	}
	public void setProPhone(String proPhone) {
		this.proPhone = proPhone;
	}
	public String getProAddress() {
		return proAddress;
	}
	public void setProAddress(String proAddress) {
		this.proAddress = proAddress;
	}
	public String getProFax() {
		return proFax;
	}
	public void setProFax(String proFax) {
		this.proFax = proFax;
	}
	public Integer getCreatedBy() {
		return createdBy;
	}
	public void setCreatedBy(Integer createdBy) {
		this.createdBy = createdBy;
	}
	public Date getCreationDate() {
		return creationDate;
	}
	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}
	public Integer getModifyBy() {
		return modifyBy;
	}
	public void setModifyBy(Integer modifyBy) {
		this.modifyBy = modifyBy;
	}
	public Date getModifyDate() {
		return modifyDate;
	}
	public void setModifyDate(Date modifyDate) {
		this.modifyDate = modifyDate;
	}
	
	
}
package cn.kgc.smbms.pojo;

import java.util.Date;

public class User {
	private Integer id; //id 
	private String userCode; //用户编码
	private String userName; //用户名称
	private String userPassword; //用户密码
	private Integer gender;  //性别
	private Date birthday;  //出生日期
	private String phone;   //电话
	private String address; //地址
	private Integer userRole;    //用户角色
	private Integer createdBy;   //创建者
	private Date creationDate; //创建时间
	private Integer modifyBy;     //更新者
	private Date modifyDate;   //更新时间
	
	private Integer age;//年龄
	
	private String userRoleName;    //用户角色名称
	
	
	public String getUserRoleName() {
		return userRoleName;
	}
	public void setUserRoleName(String userRoleName) {
		this.userRoleName = userRoleName;
	}
	public Integer getAge() {
		/*long time = System.currentTimeMillis()-birthday.getTime();
		Integer age = Long.valueOf(time/365/24/60/60/1000).IntegerValue();*/
		Date date = new Date();
		Integer age = date.getYear()-birthday.getYear();
		return age;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUserCode() {
		return userCode;
	}
	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserPassword() {
		return userPassword;
	}
	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}
	public Integer getGender() {
		return gender;
	}
	public void setGender(Integer gender) {
		this.gender = gender;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public Integer getUserRole() {
		return userRole;
	}
	public void setUserRole(Integer userRole) {
		this.userRole = userRole;
	}
	public Integer getCreatedBy() {
		return createdBy;
	}
	public void setCreatedBy(Integer createdBy) {
		this.createdBy = createdBy;
	}
	public Date getCreationDate() {
		return creationDate;
	}
	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}
	public Integer getModifyBy() {
		return modifyBy;
	}
	public void setModifyBy(Integer modifyBy) {
		this.modifyBy = modifyBy;
	}
	public Date getModifyDate() {
		return modifyDate;
	}
	public void setModifyDate(Date modifyDate) {
		this.modifyDate = modifyDate;
	}
}

工具类,创建SqlSession

package cn.kgc.smbms.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

/**
 * 获取sqlSession
 */
public class SqlSessionUtil {
    private static SqlSessionFactory ssf;

    static {
        InputStream is=null;
        String resource="mybatis-config.xml";
        try {
             is=Resources.getResourceAsStream(resource);
            SqlSessionFactoryBuilder ssfb=new SqlSessionFactoryBuilder();
            ssf=ssfb.build(is);
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                if(is!=null){
                    is.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

    public static SqlSession creatSqlSession(){
        return ssf.openSession();
    }

    public static void closeSqlSession(SqlSession sqlSession){
        if(sqlSession!=null){
            sqlSession.close();
        }
    }
}

sql映射文件(Bill商品)

package cn.kgc.smbms.dao.bill;

import cn.kgc.smbms.pojo.Bill;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface BillMapper {
    /**
     * 根据商品名称模糊查询商品信息
     * @param bill
     * @return
     */
    public List<Bill>getBillBy(Bill bill);
}
<?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="cn.kgc.smbms.dao.bill.BillMapper">
    <!--根据商品名称模糊查询-->
    <select id="getBillBy" resultMap="billList" parameterType="cn.kgc.smbms.pojo.Bill">
        SELECT b.`billCode`,b.`productName`,p.`proName`,b.`totalPrice`,b.`isPayment`,b.`creationDate`
        FROM `smbms_bill` AS b INNER JOIN `smbms_provider` AS p ON b.`providerId`=p.`id`
        WHERE b.`productName`LIKE CONCAT('%',#{productName},'%')
        AND b.`providerId`=#{providerId}
        AND b.`isPayment`=#{isPayment}
    </select>

    <!--设置映射-->
    <resultMap id="billList" type="cn.kgc.smbms.pojo.Bill">
        <id column="id" property="id"/>
        <result column="proName" property="providerName"/>
    </resultMap>



</mapper>

供应商ProviderMapper

<?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="cn.kgc.smbms.dao.provider.ProviderMapper">
    <!--//增加供应商    -->
    <insert id="addProvider" parameterType="cn.kgc.smbms.pojo.Provider">
	    INSERT INTO `smbms_provider`
        (`proCode`,`proName`,`proDesc`,`proContact`,`proPhone`,`proAddress`,`proFax`,`createdBy`,`creationDate`,`modifyDate`,`modifyBy`)
        VALUES(#{proCode},#{proName},#{proDesc},#{proContact},#{proPhone},#{proAddress},#{proFax},#{createdBy},#{creationDate},#{modifyDate},#{modifyBy})
	</insert>

    <!--根据id修改供应商信息-->
    <update id="updateByProvider" parameterType="cn.kgc.smbms.pojo.Provider">
        update `smbms_provider`
        set proCode=#{proCode},proName=#{proName},proDesc=#{proDesc},proContact=#{proContact},proPhone=#{proPhone},proAddress=#{proAddress},proFax=#{proFax},createdBy=#{createdBy},creationDate=#{creationDate},modifyDate=#{modifyDate},modifyBy=#{modifyBy}
        where id=#{id}
    </update>

    <!--根据id删除供应商信息-->
    <delete id="delById" parameterType="int">
        DELETE FROM `smbms_provider` WHERE id=#{id}
    </delete>

</mapper>
package cn.kgc.smbms.dao.provider;

import cn.kgc.smbms.pojo.Provider;

public interface ProviderMapper {
    //增加供应商
    int addProvider(Provider provider);
    //根据id修改供应商信息
    int updateByProvider(Provider provider);
    //根据id删除供应商
    int delById(int id);
}

用户User

package cn.kgc.smbms.dao.user;

import cn.kgc.smbms.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserMapper {
    //根据用户名查询参数列表
    public List<User> getUserListByName(String userName);
    //根据用户名、角色查询参数列表
    public List<User> getUserListByNameAndRole(@Param("userName") String userName, @Param("userRole") int userRole);
    //根据用户对象查询参数列表
    public List<User> getUserListByUser(User user);
    //根据Map集合查询参数列表
    public List<User> getUserListByMap(Map<String,Object> userMap);
    //多表查询
    public List<User> getInfoByUser(User user);
    //增加用户
    public int addUser(User user);
    //更改用户信息
    public int updateUserByUser(User user);
    //根据id删除用户
    public int delUserById(int id);



}
<?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="cn.kgc.smbms.dao.user.UserMapper">
    <!--查询用户列表-->
    <select id="getCount" resultType="int" >
        select count(*) from `smbms_user`
    </select>
    <!--查询用户列表-->
    <select id="getUserList" resultType="cn.kgc.smbms.pojo.User" >
        select id,userCode,userName from `smbms_user`
    </select>
    <!--根据用户名查询列表-->
    <select id="getUserListByName" resultType="cn.kgc.smbms.pojo.User" parameterType="String">
        select id,userCode,userName from `smbms_user` where userName like CONCAT('%',#{userName},'%')
    </select>
    <!--根据用户名、用户角色查询列表(多个参数)#{注解值}-->
    <select id="getUserListByNameAndRole" resultType="cn.kgc.smbms.pojo.User" >
        select id,userCode,userName from `smbms_user`
        where userName like CONCAT('%',#{userName},'%')
        and userRole=#{userRole}
    </select>
    <!--根据用户名和用户角色查询用户列表,对象作为参数 #{属性值}-->
    <select id="getUserListByUser" resultType="cn.kgc.smbms.pojo.User" parameterType="cn.kgc.smbms.pojo.User" >
        select id,userCode,userName from `smbms_user`
        where userName like CONCAT('%',#{userName},'%')
        and userRole=#{userRole}
    </select>
    <!--map作为参数,#{key}-->
    <select id="getUserListByMap" resultType="cn.kgc.smbms.pojo.User" parameterType="Map" >
        select id,userCode,userName from `smbms_user`
        where userName like CONCAT('%',#{userName},'%')
        and userRole=#{userRole}
    </select>
    <!--根据用户对象多表查询用户列表,对象作为参数#{属性值}-->
    <select id="getInfoByUser" resultMap="userList" parameterType="cn.kgc.smbms.pojo.User" >
        select su.*,sr.roleName from smbms_user su inner join `smbms_role` sr on su.userRole=sr.id
		where userName like CONCAT ('%',#{userName},'%')
		and userRole=#{userRole}
    </select>
    <!--设置映射-->
    <resultMap id="userList" type="cn.kgc.smbms.pojo.User">
        <id column="id" property="id"/>
        <result column="roleName" property="userRoleName"/>
    </resultMap>
    <!--增加用户-->
    <insert id="addUser" parameterType="cn.kgc.smbms.pojo.User">
		INSERT INTO `smbms`.`smbms_user`
		 (`userCode`, `userName`, `userPassword`, `gender`, `birthday`, `phone`, `address`,`userRole`,`createdBy`,`creationDate`, `modifyBy`,`modifyDate`)
		 VALUES (#{userCode},#{userName}, #{userPassword}, #{gender}, #{birthday}, #{phone}, #{address},#{userRole},#{createdBy},#{creationDate},#{modifyBy},#{modifyDate});
	</insert>
    <!--更改用户信息-->
    <update id="updateUserByUser" parameterType="cn.kgc.smbms.pojo.User" >
		UPDATE `smbms`.`smbms_user`
		SET `userCode` = #{userCode} , `userName` =#{userName} , `userPassword` = #{userPassword} , `gender` = #{gender} ,
		 `birthday` = #{birthday} , `phone` = #{phone} , `address` = #{address} ,
		 `userRole` = #{userRole} , `createdBy` =#{createdBy} , `creationDate` = #{creationDate} , `modifyBy` = #{modifyBy} , `modifyDate` = #{modifyDate}
		 WHERE `id` =#{id};
	</update>
    <!--删除用户信息-->
    <delete id="delUserById" parameterType="int">
        delete from `smbms`.`smbms_user` where id=#{id}
    </delete>

</mapper>

4、测试类

import cn.kgc.smbms.dao.bill.BillMapper;
import cn.kgc.smbms.dao.provider.ProviderMapper;
import cn.kgc.smbms.dao.user.UserMapper;
import cn.kgc.smbms.pojo.Bill;
import cn.kgc.smbms.pojo.Provider;
import cn.kgc.smbms.pojo.User;
import cn.kgc.smbms.util.SqlSessionUtil;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import org.apache.log4j.Logger;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestSmbms {
    private Logger logger=Logger.getLogger(TestSmbms.class);
    @Test
    public void getCount(){
        String resource="mybatis-config.xml";
            InputStream is= null;
            try {
                is = Resources.getResourceAsStream(resource);
                SqlSessionFactoryBuilder ssfb=new SqlSessionFactoryBuilder();
                SqlSessionFactory ssf=ssfb.build(is);
                SqlSession sqlSession=ssf.openSession();
                int count=sqlSession.selectOne("cn.kgc.smbms.provider.user.UserMapper.getCount");
                System.out.println(count);
                sqlSession.close();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                try {
                    if(is!=null){
                        is.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    }

    @Test
    public void getUserList(){
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession();
        List<User> userList=sqlSession.selectList("cn.kgc.smbms.provider.user.UserMapper.getUserList");
        System.out.println("id\tuserCode\tuserName");
        for (User user:userList) {
            System.out.println(user.getId()+"\t"+user.getUserCode()+"\t"+user.getUserName());
        }
    }

    @Test
    public void getUserListByName(){
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession();
        List<User> userList=sqlSession.getMapper(UserMapper.class).getUserListByName("赵");
        System.out.println("id\tuserCode\tuserName");
        for (User user:userList) {
            System.out.println(user.getId()+"\t"+user.getUserCode()+"\t"+user.getUserName());
        }
        SqlSessionUtil.closeSqlSession(sqlSession);
    }

    @Test
    public void getUserListByUser(){
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession();
        User u=new User();
        u.setUserName("赵");
        u.setUserRole(3);
        List<User> userList=sqlSession.getMapper(UserMapper.class).getUserListByUser(u);
        System.out.println("id\tuserCode\tuserName");
        for (User user:userList) {
            System.out.println(user.getId()+"\t"+user.getUserCode()+"\t"+user.getUserName());
        }
        SqlSessionUtil.closeSqlSession(sqlSession);
    }

    @Test
    public void getUserListByNameAndRole(){
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession();
        List<User> userList=sqlSession.getMapper(UserMapper.class).getUserListByNameAndRole("赵",3);
        System.out.println("id\tuserCode\tuserName");
        for (User user:userList) {
            System.out.println(user.getId()+"\t"+user.getUserCode()+"\t"+user.getUserName());
        }
        SqlSessionUtil.closeSqlSession(sqlSession);
    }

    @Test
    public void getUserListByMap(){
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession();

        Map<String,Object> userMap=new HashMap<>();
        userMap.put("userName","赵");
        userMap.put("userRole",3);
        List<User> userList=sqlSession.getMapper(UserMapper.class).getUserListByMap(userMap);
        System.out.println("id\tuserCode\tuserName");
        for (User user:userList) {
            System.out.println(user.getId()+"\t"+user.getUserCode()+"\t"+user.getUserName());
        }
        SqlSessionUtil.closeSqlSession(sqlSession);
    }

    //多表查询
    @Test
    public void getInfoByUser(){
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession();
        User u=new User();
        u.setUserName("赵");
        u.setUserRole(3);
        List<User> userList=sqlSession.getMapper(UserMapper.class).getInfoByUser(u);
        System.out.println("id\tuserCode\tuserName\troleName");
        for (User user:userList) {
            System.out.println(user.getId()+"\t"+user.getUserCode()+"\t"+user.getUserName()+"\t"+user.getUserRoleName());
        }
        SqlSessionUtil.closeSqlSession(sqlSession);
    }

    //增加用户
    @Test
    public void addUser(){
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession(); //获取sql回话
        User u=new User();
        u.setUserName("11");
        u.setUserRole(1);
        u.setAddress("11");
        try {
            u.setBirthday(sdf.parse("2019-10-10"));
            u.setCreationDate(sdf.parse("2019-10-10"));
            u.setModifyDate(sdf.parse("2019-10-10"));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        u.setCreatedBy(1);
        u.setGender(2);
        u.setModifyBy(1);
        u.setPhone("11");
        u.setUserCode("11");
        u.setUserPassword("11");
        u.setUserRoleName("11");
        int n=sqlSession.getMapper(UserMapper.class).addUser(u);
        System.out.println("插入成功"+n+"行");
        if(n>0) {
            sqlSession.commit();
        }else{
            sqlSession.rollback();
        }
        SqlSessionUtil.closeSqlSession(sqlSession);  //关闭sql回话
    }

    //更改用户信息根据用户对象
    @Test
    public void updateUserByUser(){
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession(); //获取sql回话
        User u=new User();
        u.setId(16);
        u.setUserName("22");
        u.setUserRole(1);
        u.setAddress("22");
        try {
            u.setBirthday(sdf.parse("2019-10-10"));
            u.setCreationDate(sdf.parse("2019-10-10"));
            u.setModifyDate(sdf.parse("2019-10-10"));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        u.setCreatedBy(1);
        u.setGender(2);
        u.setModifyBy(1);
        u.setPhone("22");
        u.setUserCode("22");
        u.setUserPassword("22");
        u.setUserRoleName("22");
        int n=sqlSession.getMapper(UserMapper.class).updateUserByUser(u);
        System.out.println("修改成功"+n+"行");
        if(n>0) {
            sqlSession.commit();
        }else{
            sqlSession.rollback();
        }
        SqlSessionUtil.closeSqlSession(sqlSession);  //关闭sql回话

    }

    //根据用户id删除用户信息
    @Test
    public void delUserById(){
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession(); //获取sql回话
        int n=sqlSession.getMapper(UserMapper.class).delUserById(16);
        System.out.println("修改成功"+n+"行");
        if(n>0) {
            sqlSession.commit();
        }else{
            sqlSession.rollback();
        }
        SqlSessionUtil.closeSqlSession(sqlSession);  //关闭sql回话

    }

    //根据商品名称模糊查询商品信息
    @Test
    public void getBillBy(){
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession();
        Bill b =new Bill();
        b.setProductName("水");
        b.setProviderId(13);
        b.setIsPayment(2);
        String isPay=null;
        List<Bill> billList=sqlSession.getMapper(BillMapper.class).getBillBy(b);
        System.out.println("订单编码\t\t\t商品名称\t\t\t供应商名称\t\t\t账单金额\t\t\t是否付款\t\t\t创建时间");
        for (Bill bill:billList) {
            String dd=sdf.format(bill.getCreationDate());
            if(bill.getIsPayment()==2){
                isPay="未支付";
            }else{
                isPay="已支付";
            }
            logger.debug(bill.getBillCode()+"\t"+bill.getProductName()+"\t"+bill.getProviderName()+"\t"+bill.getTotalPrice()+"\t"+isPay+"\t"+dd);
        }

        SqlSessionUtil.closeSqlSession(sqlSession);
    }

    //增加供应商
    @Test
    public void addProvider(){
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession(); //获取sql回话
        Provider p=new Provider();
        p.setProCode("Marty");
        p.setProName("杭州市建材有限公司");
        p.setProDesc("长期合作伙伴,主要经营:钢筋,模板");
        p.setProContact("小花花");
        p.setProPhone("135654985264");
        p.setProAddress("杭州市湖州街29号");
        p.setProFax("400-0251652");
        p.setCreatedBy(1);
        try {
            p.setCreationDate(sdf.parse("2019-02-03"));
            p.setModifyDate(sdf.parse("2019-02-03"));
            p.setModifyBy(1);

            int n=sqlSession.getMapper(ProviderMapper.class).addProvider(p);
            System.out.println("插入成功"+n+"行");
            if(n>0) {
                sqlSession.commit();
            }else{
                sqlSession.rollback();
            }
            SqlSessionUtil.closeSqlSession(sqlSession);  //关闭sql回话
        } catch (ParseException e) {
            e.printStackTrace();
        }


    }

    //根据id修改供应商信息
    @Test
    public void updateById(){
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession(); //获取sql回话
        Provider p=new Provider();
        p.setId(16);
        p.setProCode("韦小宝");
        p.setProName("杭州市建材有限公司");
        p.setProDesc("长期合作伙伴,主要经营:钢筋,模板");
        p.setProContact("小花花");
        p.setProPhone("135654985264");
        p.setProAddress("杭州市湖州街29号");
        p.setProFax("400-0251652");
        p.setCreatedBy(1);
        try {
            p.setCreationDate(sdf.parse("2019-02-03"));
            p.setModifyDate(sdf.parse("2019-02-03"));
            p.setModifyBy(1);

            int n=sqlSession.getMapper(ProviderMapper.class).updateByProvider(p);
            System.out.println("修改成功"+n+"行");
            if(n>0) {
                sqlSession.commit();
            }else{
                sqlSession.rollback();
            }
            SqlSessionUtil.closeSqlSession(sqlSession);  //关闭sql回话
        } catch (ParseException e) {
            e.printStackTrace();
        }


    }

    //根据id删除供应商
    @Test
    public void delById(){
        SqlSession sqlSession= SqlSessionUtil.creatSqlSession(); //获取sql回话
        int n=sqlSession.getMapper(ProviderMapper.class).delById(16);
        System.out.println("删除成功"+n+"行");
        if(n>0) {
            sqlSession.commit();
        }else{
            sqlSession.rollback();
        }
        SqlSessionUtil.closeSqlSession(sqlSession);  //关闭sql回话

    }
















}

项目结构

mysql的SQL文件

/*
SQLyog 企业版 - MySQL GUI v8.14 
MySQL - 5.5.40 : Database - smbms
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`smbms` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;

USE `smbms`;

/*Table structure for table `smbms_address` */

DROP TABLE IF EXISTS `smbms_address`;

CREATE TABLE `smbms_address` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `contact` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系人姓名',
  `addressDesc` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '收货地址明细',
  `postCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '邮编',
  `tel` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系人电话',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '修改者',
  `modifyDate` datetime DEFAULT NULL COMMENT '修改时间',
  `userId` bigint(20) DEFAULT NULL COMMENT '用户ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

/*Data for the table `smbms_address` */

insert  into `smbms_address`(`id`,`contact`,`addressDesc`,`postCode`,`tel`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`,`userId`) values (1,'王丽','北京市东城区东交民巷44号','100010','13678789999',1,'2016-04-13 00:00:00',NULL,NULL,1),(2,'张红丽','北京市海淀区丹棱街3号','100000','18567672312',1,'2016-04-13 00:00:00',NULL,NULL,1),(3,'任志强','北京市东城区美术馆后街23号','100021','13387906742',1,'2016-04-13 00:00:00',NULL,NULL,1),(4,'曹颖','北京市朝阳区朝阳门南大街14号','100053','13568902323',1,'2016-04-13 00:00:00',NULL,NULL,2),(5,'李慧','北京市西城区三里河路南三巷3号','100032','18032356666',1,'2016-04-13 00:00:00',NULL,NULL,3),(6,'王国强','北京市顺义区高丽营镇金马工业区18号','100061','13787882222',1,'2016-04-13 00:00:00',NULL,NULL,3);

/*Table structure for table `smbms_bill` */

DROP TABLE IF EXISTS `smbms_bill`;

CREATE TABLE `smbms_bill` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `billCode` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '账单编码',
  `productName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品名称',
  `productDesc` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品描述',
  `productUnit` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品单位',
  `productCount` decimal(20,2) DEFAULT NULL COMMENT '商品数量',
  `totalPrice` decimal(20,2) DEFAULT NULL COMMENT '商品总额',
  `isPayment` int(10) DEFAULT NULL COMMENT '是否支付(1:未支付 2:已支付)',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者(userId)',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',
  `modifyDate` datetime DEFAULT NULL COMMENT '更新时间',
  `providerId` bigint(20) DEFAULT NULL COMMENT '供应商ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

/*Data for the table `smbms_bill` */

insert  into `smbms_bill`(`id`,`billCode`,`productName`,`productDesc`,`productUnit`,`productCount`,`totalPrice`,`isPayment`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`,`providerId`) values (1,'BILL2016_001','洗发水、护发素','日用品-洗发、护发','瓶','500.00','25000.00',2,1,'2014-12-14 13:02:03',NULL,NULL,13),(2,'BILL2016_002','香皂、肥皂、药皂','日用品-皂类','块','1000.00','10000.00',2,1,'2016-03-23 04:20:40',NULL,NULL,13),(3,'BILL2016_003','大豆油','食品-食用油','斤','300.00','5890.00',2,1,'2014-12-14 13:02:03',NULL,NULL,6),(4,'BILL2016_004','橄榄油','食品-进口食用油','斤','200.00','9800.00',2,1,'2013-10-10 03:12:13',NULL,NULL,7),(5,'BILL2016_005','洗洁精','日用品-厨房清洁','瓶','500.00','7000.00',2,1,'2014-12-14 13:02:03',NULL,NULL,9),(6,'BILL2016_006','美国大杏仁','食品-坚果','袋','300.00','5000.00',2,1,'2016-04-14 06:08:09',NULL,NULL,4),(7,'BILL2016_007','沐浴液、精油','日用品-沐浴类','瓶','500.00','23000.00',1,1,'2016-07-22 10:10:22',NULL,NULL,14),(8,'BILL2016_008','不锈钢盘碗','日用品-厨房用具','个','600.00','6000.00',2,1,'2016-04-14 05:12:13',NULL,NULL,14),(9,'BILL2016_009','塑料杯','日用品-杯子','个','350.00','1750.00',2,1,'2016-02-04 11:40:20',NULL,NULL,14),(10,'BILL2016_010','豆瓣酱','食品-调料','瓶','200.00','2000.00',2,1,'2013-10-29 05:07:03',NULL,NULL,8),(11,'BILL2016_011','海之蓝','饮料-国酒','瓶','50.00','10000.00',1,1,'2016-04-14 16:16:00',NULL,NULL,1),(12,'BILL2016_012','芝华士','饮料-洋酒','瓶','20.00','6000.00',1,1,'2016-09-09 17:00:00',NULL,NULL,1),(13,'BILL2016_013','长城红葡萄酒','饮料-红酒','瓶','60.00','800.00',2,1,'2016-11-14 15:23:00',NULL,NULL,1),(14,'BILL2016_014','泰国香米','食品-大米','斤','400.00','5000.00',2,1,'2016-10-09 15:20:00',NULL,NULL,3),(15,'BILL2016_015','东北大米','食品-大米','斤','600.00','4000.00',2,1,'2016-11-14 14:00:00',NULL,NULL,3),(16,'BILL2016_016','可口可乐','饮料','瓶','2000.00','6000.00',2,1,'2012-03-27 13:03:01',NULL,NULL,2),(17,'BILL2016_017','脉动','饮料','瓶','1500.00','4500.00',2,1,'2016-05-10 12:00:00',NULL,NULL,2),(18,'BILL2016_018','哇哈哈','饮料','瓶','2000.00','4000.00',2,1,'2015-11-24 15:12:03',NULL,NULL,2);

/*Table structure for table `smbms_provider` */

DROP TABLE IF EXISTS `smbms_provider`;

CREATE TABLE `smbms_provider` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `proCode` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '供应商编码',
  `proName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '供应商名称',
  `proDesc` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '供应商详细描述',
  `proContact` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '供应商联系人',
  `proPhone` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系电话',
  `proAddress` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '地址',
  `proFax` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '传真',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者(userId)',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyDate` datetime DEFAULT NULL COMMENT '更新时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

/*Data for the table `smbms_provider` */

insert  into `smbms_provider`(`id`,`proCode`,`proName`,`proDesc`,`proContact`,`proPhone`,`proAddress`,`proFax`,`createdBy`,`creationDate`,`modifyDate`,`modifyBy`) values (1,'BJ_GYS001','北京三木堂商贸有限公司','长期合作伙伴,主营产品:茅台、五粮液、郎酒、酒鬼酒、泸州老窖、赖茅酒、法国红酒等','张国强','13566667777','北京市丰台区育芳园北路','010-58858787',1,'2013-03-21 16:52:07',NULL,NULL),(2,'HB_GYS001','石家庄帅益食品贸易有限公司','长期合作伙伴,主营产品:饮料、水饮料、植物蛋白饮料、休闲食品、果汁饮料、功能饮料等','王军','13309094212','河北省石家庄新华区','0311-67738876',1,'2016-04-13 04:20:40',NULL,NULL),(3,'GZ_GYS001','深圳市泰香米业有限公司','初次合作伙伴,主营产品:良记金轮米,龙轮香米等','郑程瀚','13402013312','广东省深圳市福田区深南大道6006华丰大厦','0755-67776212',1,'2014-03-21 16:56:07',NULL,NULL),(4,'GZ_GYS002','深圳市喜来客商贸有限公司','长期合作伙伴,主营产品:坚果炒货.果脯蜜饯.天然花茶.营养豆豆.特色美食.进口食品.海味零食.肉脯肉','林妮','18599897645','广东省深圳市福龙工业区B2栋3楼西','0755-67772341',1,'2013-03-22 16:52:07',NULL,NULL),(5,'JS_GYS001','兴化佳美调味品厂','长期合作伙伴,主营产品:天然香辛料、鸡精、复合调味料','徐国洋','13754444221','江苏省兴化市林湖工业区','0523-21299098',1,'2015-11-22 16:52:07',NULL,NULL),(6,'BJ_GYS002','北京纳福尔食用油有限公司','长期合作伙伴,主营产品:山茶油、大豆油、花生油、橄榄油等','马莺','13422235678','北京市朝阳区珠江帝景1号楼','010-588634233',1,'2012-03-21 17:52:07',NULL,NULL),(7,'BJ_GYS003','北京国粮食用油有限公司','初次合作伙伴,主营产品:花生油、大豆油、小磨油等','王驰','13344441135','北京大兴青云店开发区','010-588134111',1,'2016-04-13 00:00:00',NULL,NULL),(8,'ZJ_GYS001','慈溪市广和绿色食品厂','长期合作伙伴,主营产品:豆瓣酱、黄豆酱、甜面酱,辣椒,大蒜等农产品','薛圣丹','18099953223','浙江省宁波市慈溪周巷小安村','0574-34449090',1,'2013-11-21 06:02:07',NULL,NULL),(9,'GX_GYS001','优百商贸有限公司','长期合作伙伴,主营产品:日化产品','李立国','13323566543','广西南宁市秀厢大道42-1号','0771-98861134',1,'2013-03-21 19:52:07',NULL,NULL),(10,'JS_GYS002','南京火头军信息技术有限公司','长期合作伙伴,主营产品:不锈钢厨具等','陈女士','13098992113','江苏省南京市浦口区浦口大道1号新城总部大厦A座903室','025-86223345',1,'2013-03-25 16:52:07',NULL,NULL),(11,'GZ_GYS003','广州市白云区美星五金制品厂','长期合作伙伴,主营产品:海绵床垫、坐垫、靠垫、海绵枕头、头枕等','梁天','13562276775','广州市白云区钟落潭镇福龙路20号','020-85542231',1,'2016-12-21 06:12:17',NULL,NULL),(12,'BJ_GYS004','北京隆盛日化科技','长期合作伙伴,主营产品:日化环保清洗剂,家居洗涤专卖、洗涤用品网、墙体除霉剂、墙面霉菌清除剂等','孙欣','13689865678','北京市大兴区旧宫','010-35576786',1,'2014-11-21 12:51:11',NULL,NULL),(13,'SD_GYS001','山东豪克华光联合发展有限公司','长期合作伙伴,主营产品:洗衣皂、洗衣粉、洗衣液、洗洁精、消杀类、香皂等','吴洪转','13245468787','山东济阳济北工业区仁和街21号','0531-53362445',1,'2015-01-28 10:52:07',NULL,NULL),(14,'JS_GYS003','无锡喜源坤商行','长期合作伙伴,主营产品:日化品批销','周一清','18567674532','江苏无锡盛岸西路','0510-32274422',1,'2016-04-23 11:11:11',NULL,NULL),(15,'ZJ_GYS002','乐摆日用品厂','长期合作伙伴,主营产品:各种中、高档塑料杯,塑料乐扣水杯(密封杯)、保鲜杯(保鲜盒)、广告杯、礼品杯','王世杰','13212331567','浙江省金华市义乌市义东路','0579-34452321',1,'2016-08-22 10:01:30',NULL,NULL);

/*Table structure for table `smbms_role` */

DROP TABLE IF EXISTS `smbms_role`;

CREATE TABLE `smbms_role` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `roleCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '角色编码',
  `roleName` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '角色名称',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '修改者',
  `modifyDate` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

/*Data for the table `smbms_role` */

insert  into `smbms_role`(`id`,`roleCode`,`roleName`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`) values (1,'SMBMS_ADMIN','系统管理员',1,'2016-04-13 00:00:00',NULL,NULL),(2,'SMBMS_MANAGER','经理',1,'2016-04-13 00:00:00',NULL,NULL),(3,'SMBMS_EMPLOYEE','普通员工',1,'2016-04-13 00:00:00',NULL,NULL);

/*Table structure for table `smbms_user` */

DROP TABLE IF EXISTS `smbms_user`;

CREATE TABLE `smbms_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `userCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户编码',
  `userName` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户名称',
  `userPassword` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户密码',
  `gender` int(10) DEFAULT NULL COMMENT '性别(1:女、 2:男)',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '手机',
  `address` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '地址',
  `userRole` bigint(20) DEFAULT NULL COMMENT '用户角色(取自角色表-角色id)',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者(userId)',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',
  `modifyDate` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

/*Data for the table `smbms_user` */

insert  into `smbms_user`(`id`,`userCode`,`userName`,`userPassword`,`gender`,`birthday`,`phone`,`address`,`userRole`,`createdBy`,`creationDate`,`modifyBy`,`modifyDate`) values (1,'admin','系统管理员','1234567',1,'1983-10-10','13688889999','北京市海淀区成府路207号',1,1,'2013-03-21 16:52:07',NULL,NULL),(2,'liming','李明','0000000',2,'1983-12-10','13688884457','北京市东城区前门东大街9号',2,1,'2014-12-31 19:52:09',NULL,NULL),(5,'hanlubiao','韩路彪','0000000',2,'1984-06-05','18567542321','北京市朝阳区北辰中心12号',2,1,'2014-12-31 19:52:09',NULL,NULL),(6,'zhanghua','张华','0000000',1,'1983-06-15','13544561111','北京市海淀区学院路61号',3,1,'2013-02-11 10:51:17',NULL,NULL),(7,'wangyang','王洋','0000000',2,'1982-12-31','13444561124','北京市海淀区西二旗辉煌国际16层',3,1,'2014-06-11 19:09:07',NULL,NULL),(8,'zhaoyan','赵燕','0000000',1,'1986-03-07','18098764545','北京市海淀区回龙观小区10号楼',3,1,'2016-04-21 13:54:07',NULL,NULL),(10,'sunlei','孙磊','0000000',2,'1981-01-04','13387676765','北京市朝阳区管庄新月小区12楼',3,1,'2015-05-06 10:52:07',NULL,NULL),(11,'sunxing','孙兴','0000000',2,'1978-03-12','13367890900','北京市朝阳区建国门南大街10号',3,1,'2016-11-09 16:51:17',NULL,NULL),(12,'zhangchen','张晨','0000000',1,'1986-03-28','18098765434','朝阳区管庄路口北柏林爱乐三期13号楼',3,1,'2016-08-09 05:52:37',1,'2016-04-14 14:15:36'),(13,'dengchao','邓超','0000000',2,'1981-11-04','13689674534','北京市海淀区北航家属院10号楼',3,1,'2016-07-11 08:02:47',NULL,NULL),(14,'yangguo','杨过','0000000',2,'1980-01-01','13388886623','北京市朝阳区北苑家园茉莉园20号楼',3,1,'2015-02-01 03:52:07',NULL,NULL),(15,'zhaomin','赵敏','0000000',1,'1987-12-04','18099897657','北京市昌平区天通苑3区12号楼',2,1,'2015-09-12 12:02:12',NULL,NULL);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

测试myBagtis框架资源(含项目)

https://pan.baidu.com/s/1UxAS_BkcgAMwof-X8THfXg

提取码:yuz4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值