|
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 50519
Source Host : localhost:3306
Source Database : mybatis
Target Server Type : MYSQL
Target Server Version : 50519
File Encoding : 65001
Date: 2014-02-20 14:25:02
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `customer`
-- ----------------------------
DROP TABLE IF EXISTS `customer`;
CREATE TABLE `customer` (
`sysNo` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(100) DEFAULT NULL,
`userpass` varchar(50) DEFAULT NULL,
PRIMARY KEY (`sysNo`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of customer
-- ----------------------------
INSERT INTO `customer` VALUES ('1', 'immigrant', '000000');
INSERT INTO `customer` VALUES ('2', 'yiminghu', '000000');
INSERT INTO `customer` VALUES ('3', '王五', '000000');
INSERT INTO `customer` VALUES ('8', 'yiminghu', '000000');
-- ----------------------------
-- Table structure for `message`
-- ----------------------------
DROP TABLE IF EXISTS `message`;
CREATE TABLE `message` (
`SysNo` int(11) NOT NULL AUTO_INCREMENT,
`CustomerSysNo` int(11) DEFAULT NULL,
`FullName` varchar(255) DEFAULT NULL,
`Mobile` varchar(11) DEFAULT NULL,
PRIMARY KEY (`SysNo`),
KEY `CustomerSysNo` (`CustomerSysNo`),
CONSTRAINT `message_ibfk_1` FOREIGN KEY (`CustomerSysNo`) REFERENCES `customer` (`sysNo`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of message
-- ----------------------------
INSERT INTO `message` VALUES ('1', '1', '张三', '15008228718');
package com.model;
import java.util.List;
public class Customer {
private Integer sysNo;
private String username;
private String userpass;
private List<Message> messageList;
public List<Message> getMessageList() {
return messageList;
}
public void setMessageList(List<Message> messageList) {
this.messageList = messageList;
}
public Integer getSysNo() {
return sysNo;
}
public void setSysNo(Integer sysNo) {
this.sysNo = sysNo;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpass() {
return userpass;
}
public void setUserpass(String userpass) {
this.userpass = userpass;
}
}
package com.model;
public class Message {
private Integer sysNo;
private Integer customerSysNo;
private String fullName;
private String mobile;
private Customer customer;
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public Integer getSysNo() {
return sysNo;
}
public void setSysNo(Integer sysNo) {
this.sysNo = sysNo;
}
public Integer getCustomerSysNo() {
return customerSysNo;
}
public void setCustomerSysNo(Integer customerSysNo) {
this.customerSysNo = customerSysNo;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
}
<?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.model.Customer">
<select id="Get" parameterType="int" resultType="Customer">
select * from customer where sysNo = #{sysNO}
</select>
<select id="seach" resultType="Customer">
select * from customer
</select>
<insert id="Insert" parameterType="Customer">
insert into Customer (username,userpass) value (#{username},#{userpass})
</insert>
<update id="update" parameterType="Customer">
update customer set username=#{username},userpass=#{userpass} where sysNO=#{sysNo}
</update>
<delete id="delete" parameterType="int">
delete from customer where sysNo=#{sysNo}
</delete>
<!-- 一对多 -->
<resultMap type="Customer" id="resultMapCustomerleftJoinMessage">
<id property="sysNo" column="sysNo" />
<result property="username" column="username" />
<result property="userpass" column="userpass" />
<collection property="messageList" ofType="Message" column="CustomerSysNo">
<id property="sysNo" column="sysNo" />
<result property="fullName" column="fullName" />
<result property="mobile" column="mobile" />
</collection>
</resultMap>
<select id="Seach" parameterType="int" resultMap="resultMapCustomerleftJoinMessage">
select c.*,m.fullName,m.mobile from customer c left join message m on c.sysno=m.customersysno where m.sysno = #{sysno}
</select>
</mapper>
<?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.model.Message">
<select id="Get" parameterType="int" resultType="Message">
select * from Message where sysNo = #{sysNO}
</select>
<!-- 多对一 -->
<resultMap type="Message" id="resultMapMessageleftJoinCustomer">
<id property="sysNo" column="sysNo" />
<result property="fullName" column="fullName" />
<result property="mobile" column="mobile" />
<association property="customer" javaType="Customer">
<id property="sysNo" column="sysNo" />
<result property="username" column="username" />
</association>
</resultMap>
<select id="Seach" parameterType="int" resultMap="resultMapMessageleftJoinCustomer">
select m.*,c.username from message m left join customer c on m.customersysno=c.sysno where m.sysno = #{sysno}
</select>
</mapper>
package com.util;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MyBatisUtil {
private static SqlSessionFactory factory;
static {
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
factory = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 创建
* @return
*/
public static SqlSession createSession() {
return factory.openSession();
}
/**
* 关闭
* @param session
*/
public static void closeSession(SqlSession session) {
if(session!=null){
session.close();
}
}
} |
|