创建基于session的util类,在线程中共享SqlSession

package cn.smartapp.blogs.pojo;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set; /**
* User实体类
* @author smart
* 对应blog_user表
*/
public class User implements Serializable {
//对应表的id字段
private int id;
//对应表的user_name字段
private String userName;
//对应表的user_pass字段
private String password;
//对应表的nick_name字段
private String nickName; public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getNickName() {
return nickName;
} public void setNickName(String nickName) {
this.nickName = nickName;
}
}

创建blog_user表对应的实体类User

package cn.smartapp.blogs.pojo;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set; /**
* User实体类
* @author smart
* 对应blog_user表
*/
public class User implements Serializable {
//对应表的id字段
private int id;
//对应表的user_name字段
private String userName;
//对应表的user_pass字段
private String password;
//对应表的nick_name字段
private String nickName; public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getNickName() {
return nickName;
} public void setNickName(String nickName) {
this.nickName = nickName;
}
}

创建blog_category表对应的实体类Category

package cn.smartapp.blogs.pojo;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set; /**
* Category实体类
* @author smart
* 与blog_category表对应的实体类
*/
public class Category implements Serializable {
//对应表中的主键id
private int id;
//对应表中的cate_name字段
private String cateName; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getCateName() {
return cateName;
} public void setCateName(String cateName) {
this.cateName = cateName;
}
}

创建blog_article表对应的实体类Article

package cn.smartapp.blogs.pojo;

import java.io.Serializable;
import java.util.Date;
/**
* Article实体类
* @author smart
* 对应blog_article表的实体类
*/
public class Article implements Serializable {
//对应表中的主键id
private int id;
//对应表中的art_title字段
private String title;
//对应表中的art_content字段
private String content;
//对就表中的art_pubtime字段
private Date pubTime;
//对应表中的pub_user_id字段
private int userId;
//对应表中的cate_id字段
private int cateId; public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getPubTime() {
return pubTime;
}
public void setPubTime(Date pubTime) {
this.pubTime = pubTime;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getCateId() {
return cateId;
}
public void setCateId(int cateId) {
this.cateId = cateId;
}
}

在核心配置文件中为实体类别名

<?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>
  <!-- 配置文件新增的部分,为实体类别名 --->
<typeAliases>
<typeAlias alias="User" type="cn.smartapp.blogs.pojo.User" />
<typeAlias alias="Category" type="cn.smartapp.blogs.pojo.Category" />
<typeAlias alias="Article" type="cn.smartapp.blogs.pojo.Article" />
</typeAliases>
<!-- ========================== --> <environments default="news_res">
<environment id="news_res">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/blogs_db?characterEncoding=utf-8" />
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>

blog_user表与blog_article表存在主从关系,所以为User类与Article类建立一对多关联关系

package cn.smartapp.blogs.pojo;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set; /**
* User实体类
* @author smart
* 对应blog_user表
*/
public class User implements Serializable {
//对应表的id字段
private int id;
//对应表的user_name字段
private String userName;
//对应表的user_pass字段
private String password;
//对应表的nick_name字段
private String nickName;

  //此处是新增的代码
//为User与Article建立一对多关联
private Set<Article> articles = new HashSet<Article>(); public Set<Article> getArticles() {
return articles;
}
public void setArticles(Set<Article> articles) {
this.articles = articles;
}
//=================================
  public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getNickName() {
return nickName;
} public void setNickName(String nickName) {
this.nickName = nickName;
}
}

blog_category表与blog_article表存在主从关系,所以为Category类与Article类建立一对多关联关系

package cn.smartapp.blogs.pojo;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set; /**
* Category实体类
* @author smart
* 与blog_category表对应的实体类
*/
public class Category implements Serializable {
//对应表中的主键id
private int id;
//对应表中的cate_name字段
private String cateName; //此处为新增代码
//为Category与Article类建立一对多关联
private Set<Article> articles = new HashSet<Article>(); public Set<Article> getArticles() {
return articles;
}
//========================== public void setArticles(Set<Article> articles) {
this.articles = articles;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getCateName() {
return cateName;
} public void setCateName(String cateName) {
this.cateName = cateName;
}
}

Article类与User类和Category类实现多对一关联

package cn.smartapp.blogs.pojo;

import java.io.Serializable;
import java.util.Date;
/**
* Article实体类
* @author smart
* 对应blog_article表的实体类
*/
public class Article implements Serializable {
//对应表中的主键id
private int id;
//对应表中的art_title字段
private String title;
//对应表中的art_content字段
private String content;
//对就表中的art_pubtime字段
private Date pubTime;
//对应表中的pub_user_id字段
private int userId;
//对应表中的cate_id字段
private int cateId; //此处为新增代码
//实现多对一关联关系
private User user;
private Category category; public User getUser() {
this.setUserId(user.getId()); //外键关联
return user;
}
public void setUser(User user) {
this.user = user;
}
public Category getCategory() {
this.setCateId(category.getId()); //外键关联
return category;
}
public void setCategory(Category category) {
this.category = category;
}
//==================================== public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getPubTime() {
return pubTime;
}
public void setPubTime(Date pubTime) {
this.pubTime = pubTime;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getCateId() {
return cateId;
}
public void setCateId(int cateId) {
this.cateId = cateId;
}
}

Mybatis 学习-2的更多相关文章

  1. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作(转载)

    本文转载自:http://www.cnblogs.com/jpf-java/p/6013540.html 上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybati ...

  2. MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(八)--Mybatis3.x与Spring4.x整合 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: m ...

  3. MyBatis学习总结(七)——Mybatis缓存(转载)

      孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...

  4. (原创)mybatis学习二,spring和mybatis的融合

    mybatis学习一夯实基础 上文介绍了mybatis的相关知识,这一节主要来介绍mybaits和spring的融合 一,环境搭建 1,jar包下载,下载路径为jar包 2,将包导入到java工程中 ...

  5. (原创)mybatis学习一,夯实基础

    一,what?(是什么) MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可 ...

  6. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  7. MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作

    上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对u ...

  8. 【Todo】Mybatis学习-偏理论

    之前写过好几篇Mybatis相关的文章: http://www.cnblogs.com/charlesblc/p/5906431.html  <SSM(SpringMVC+Spring+Myba ...

  9. MyBatis学习系列三——结合Spring

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ...

  10. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

随机推荐

  1. C#(数据类型)

    刚开始学c#!!!

  2. VBA中方法的函数式调用和过程式调用的差别

    因见到有人求助批量设置工作簿中的超链接,尝试写了一段代码: Sub AddHyperlinks() Dim strName As String, source As String, target As ...

  3. [C程序设计语言]第五部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. HDU 2098 分拆素数和

    HDU 2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768K (Java/Others) [题目描述 ...

  5. WPF GroupBox样式

    来源:http://code.msdn.microsoft.com/WPF-GroupBox-Style-1d9df7c5/ 效果: XAML CODE: <Window xmlns=" ...

  6. Yii2文件上传

    首先在app\controllers下建立TestController.php,内容为如下代码: <?php namespace app\controllers; use Yii; use yi ...

  7. Spring security3入门(转)

    http://kingxss.iteye.com/blog/1908011 补充类图: 注意:1.修改为链接mysql数据库:             2.代码地址:https://github.co ...

  8. Java抓取网页数据(原网页+Javascript返回数据)

    有时候由于种种原因,我们需要采集某个网站的数据,但由于不同网站对数据的显示方式略有不同! 本文就用Java给大家演示如何抓取网站的数据:(1)抓取原网页数据:(2)抓取网页Javascript返回的数 ...

  9. js 返回上一页

    --------2016-6-14 16:37:30-- source:[1]js返回上一页

  10. JavaWeb学习总结(三)—Servlet

    1. 什么是Servlet * Servlet是JavaWeb三大组件之一(Servlet.Filter.Listener) ,Servlet是用来处理客户端请求的动态资源,按照一种约定俗成的称呼习惯 ...