zoukankan      html  css  js  c++  java
  • 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;
        }
    }
  • 相关阅读:
    maven学习讲解
    《Struts2.x权威指南》学习笔记2
    《Struts2.x权威指南》学习笔记1
    【转】Maven3把命令行创建的web工程转成Eclipse和IntelliJ Idea的工程
    [转]h5页面测试总结
    《零成本实现Web性能测试:基于Apache JMeter》读书笔记
    《软件性能测试过程详解与案例剖析》读书笔记
    手机屏幕尺寸测试——手机的实际显示页面的宽度
    web常识
    vue 生命周期
  • 原文地址:https://www.cnblogs.com/MrzhangKk/p/5164649.html
Copyright © 2011-2022 走看看