Mybatis 学习-2
创建基于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的更多相关文章
- MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作(转载)
本文转载自:http://www.cnblogs.com/jpf-java/p/6013540.html 上一篇博文MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybati ...
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合(转载)
孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(八)--Mybatis3.x与Spring4.x整合 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: m ...
- MyBatis学习总结(七)——Mybatis缓存(转载)
孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的 ...
- (原创)mybatis学习二,spring和mybatis的融合
mybatis学习一夯实基础 上文介绍了mybatis的相关知识,这一节主要来介绍mybaits和spring的融合 一,环境搭建 1,jar包下载,下载路径为jar包 2,将包导入到java工程中 ...
- (原创)mybatis学习一,夯实基础
一,what?(是什么) MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可 ...
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对u ...
- 【Todo】Mybatis学习-偏理论
之前写过好几篇Mybatis相关的文章: http://www.cnblogs.com/charlesblc/p/5906431.html <SSM(SpringMVC+Spring+Myba ...
- MyBatis学习系列三——结合Spring
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
随机推荐
- (1)创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。 编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速 度设置为100,载重量设置为100;另一个能为对象的所有属性赋值; (2)创建主类: 在主类中创建两个机动车对象。
package a; public class Jidongche { private String chepaihao; private int chesu; private double zaiz ...
- Windows控制台程序“选定模式”的问题
最近用Nodejs写了个代理程序,一直用的好好的,木有问题,今天突然发现不能用了,使用telnet去连代理的端口也能连通,可是服务就是不能正常使用,提示连接超时. 当时猜测是Nodejs的某个地方阻塞 ...
- 【转载】Ogre的内存分配策略
原文:Ogre的内存分配策略 读这个之前,强烈建议看一下Alexandrescu的modern c++的第一章关于policy技术的解释.应该是这哥们发明的,这里只是使用. 首先列出涉及到的头文件:( ...
- Linux curl命令参数详解
笔者出处:http://www.aiezu.com/system/linux/linux_curl_syntax.html linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支 ...
- Spring管理Bean的三种创建方式
1.使用类构造器实例化 (90%以上都是使用这种) <bean id=“orderService" class="cn.itcast.OrderServiceBean&qu ...
- javascript学习-原生javascript的小特效(多物体运动效果)
前些日子看了个视频所以就模仿它的技术来为大家做出几个简单的JS小特效 今天为大家做的是多个物体的运动效果, 1:HTML <body> <ul> <li> ...
- ubuntu安装jdk-6u45-linux-x64-rpm.bin
1. 参考网址: http://www.xuebuyuan.com/2070575.html http://blog.csdn.net/csusunxgg/article/details/895602 ...
- apt-get下载的文件
1. http://kurenai.elastos.org/2013/05/02/ubuntu-apt-get%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86/ http:// ...
- nodejs学习笔记<三>关于路由(url)
在网站开发中,路由的设置非常关键.nodejs对路由处理封装了一个比较全面的模块. 来认识下url模块 1)在命令行(cmd)可以直接 node —> url 可直接查看url模块的所有方法. ...
- Java中的数学运算BigDecimal
Math类 package ch7; /** * Created by Jiqing on 2016/11/24. */ public class MathDemo { public static v ...