设为首页 收藏本站
查看: 1097|回复: 0

[经验分享] mybatis 增加、删除、修改、查看(一对多、多对一映射)源代码

[复制链接]

尚未签到

发表于 2016-11-28 08:29:42 | 显示全部楼层 |阅读模式
  
DSC0000.gif

/*
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();
}
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-306383-1-1.html 上篇帖子: 关于不用Spring将MyBatis的SqlSession事务交给Struts2管理的做法 下篇帖子: 使mybatis实现根据输入值是否为空进行动态组合查询条件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表