mybatis学习(48):列表信息查询

数据库

目录结构

映入jar包和junit单元测试

com.geyao.mybatis.mapper

AuthorMapper类
 

package com.geyao.mybatis.mapper;import com.geyao.mybatis.pojo.Author;
public interface AuthorMapper {Author selectAuthorById(Integer id);
}

BlogMapper类

package com.geyao.mybatis.mapper;import java.util.List;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlogById(Integer id);List<Blog> selectBlogList();
}

AuthorMapper.xml

<?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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)-->
<mapper namespace="com.geyao.mybatis.mapper.AuthorMapper"><resultMap type="Author" id="authorResultMap"><id column="id" property="id" jdbcType="INTEGER"></id></resultMap><select id="selectAuthorById" parameterType="int" resultMap="authorResultMap">select * from author where id=#{id}</select>
</mapper>

BlogMapper.xml

<?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.geyao.mybatis.mapper.BlogMapper"><resultMap type="Blog" id="blogResultMap"><id column="id" property="id" jdbcType="INTEGER"></id>                                     <association property="author" column="author" javaType="Author"select="com.geyao.mybatis.mapper.AuthorMapper.selectAuthorById"></association></resultMap><select id="selectBlogById" parameterType="int" resultMap="blogResultMap">select * from Blog where id=#{id}</select><select id="selectBlogList"  resultMap="blogResultMap">select * from Blog </select>
</mapper>

com.geyao.mybatis.pojo

Author类

package com.geyao.mybatis.pojo;public class Author {private Integer id;private String username;private String password;private String email;private String bio;private String favouriteSection;private String nickname;private String realname;public Author() {super();}public Integer getId() {return id;}public void setId(Integer 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 getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getBio() {return bio;}public void setBio(String bio) {this.bio = bio;}public String getFavouriteSection() {return favouriteSection;}public void setFavouriteSection(String favouriteSection) {this.favouriteSection = favouriteSection;}public String getNickname() {return nickname;}public void setNickname(String nickname) {this.nickname = nickname;}public String getRealname() {return realname;}public void setRealname(String realname) {this.realname = realname;}public Author(Integer id, String username, String password, String email, String bio, String favouriteSection,String nickname, String realname) {super();this.id = id;this.username = username;this.password = password;this.email = email;this.bio = bio;this.favouriteSection = favouriteSection;this.nickname = nickname;this.realname = realname;}@Overridepublic String toString() {return "Author [id=" + id + ", username=" + username + ", password=" + password + ", email=" + email + ", bio="+ bio + ", favouriteSection=" + favouriteSection + ", nickname=" + nickname + ", realname=" + realname+ "]";}}

Blog类

package com.geyao.mybatis.pojo;import java.io.Serializable;public class Blog implements Serializable {private static final long serialVersionUID = 1L;private Integer id;private String title;private Author author;private String state;private boolean featured;private String style;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public Author getAuthor() {return author;}public void setAuthor(Author author) {this.author = author;}public String getState() {return state;}public void setState(String state) {this.state = state;}public boolean isFeatured() {return featured;}public void setFeatured(boolean featured) {this.featured = featured;}public String getStyle() {return style;}public void setStyle(String style) {this.style = style;}public static long getSerialversionuid() {return serialVersionUID;}@Overridepublic String toString() {return "Blog [id=" + id + ", title=" + title + ", author=" + author + ", state=" + state + ", featured="+ featured + ", style=" + style + "]";}}

com.geyao.mybatis.util

MybatisUtil类

package com.geyao.mybatis.util;import java.io.InputStream;
import java.io.Reader;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 sqlSessionFactory =null;static {try {InputStream in = Resources.getResourceAsStream("mybatis-config.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}private MyBatisUtil() {}public static SqlSession getSqlSession() {return sqlSessionFactory.openSession();}
}

com.geyao.mybatis.mapper测试类

BlogMapperTest

package com.geyao.mybatis.mapper;import java.util.List;import org.apache.ibatis.session.SqlSession;
import org.junit.Test;import com.geyao.mybatis.pojo.Author;
import com.geyao.mybatis.pojo.Blog;
import com.geyao.mybatis.util.MyBatisUtil;public class BlogMapperTest {@Testpublic void testSelectBlog() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);Blog blog = blogMapper.selectBlogById(1);session.close();System.out.println(blog);}@Testpublic void testSelectBlogList() {SqlSession session =MyBatisUtil.getSqlSession();BlogMapper blogMapper =session.getMapper(BlogMapper.class);List<Blog> biogList = blogMapper.selectBlogList();session.close();System.out.println(biogList);}}

mybatis-config.xml

<?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>
<settings><setting name="useGeneratedKeys" value="true"/>
</settings>
<typeAliases><typeAlias type="com.geyao.mybatis.pojo.Blog" alias="Blog"/><typeAlias type="com.geyao.mybatis.pojo.Author" alias="Author"/>
</typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/blog_gp1701?serverTimezone=GMT%2B8" /><property name="username" value="root" /><property name="password" value="123" /></dataSource></environment></environments><mappers><!-- 注册userMapper.xml文件, userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml--><mapper resource="com/geyao/mybatis/mapper/BlogMapper.xml"/><mapper resource="com/geyao/mybatis/mapper/AuthorMapper.xml"/></mappers>
</configuration>

log4j.properties

### \u914D\u7F6E\u6839 ###
log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE### \u8BBE\u7F6E\u8F93\u51FAsql\u7684\u7EA7\u522B\uFF0C\u5176\u4E2Dlogger\u540E\u9762\u7684\u5185\u5BB9\u5168\u90E8\u4E3Ajar\u5305\u4E2D\u6240\u5305\u542B\u7684\u5305\u540D ###
log4j.logger.org.apache=dubug
log4j.logger.java.sql.Connection=dubug
log4j.logger.java.sql.Statement=dubug
log4j.logger.java.sql.PreparedStatement=dubug
log4j.logger.java.sql.ResultSet=dubug### \u914D\u7F6E\u8F93\u51FA\u5230\u63A7\u5236\u53F0 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pycharm中运行Python代码的几种方式

Pycharm中运行Python代码的几种方式 在pycharm中的Python代码运行会出现各种奇葩的问题&#xff0c;比如&#xff0c;密码输入时不显示或没有提示&#xff0c;给我们带来一些麻烦&#xff0c;下面介绍几种代码运行的几种方式&#xff1a; 一、直接运行&#xff08;Run按钮或者快…

mybatis学习(49):嵌套查询--一对多

数据库表 数据库叫blog_gp1701 author表 数据 blog表 数据 comment表 数据 post表 数据 目录结构 jar包导入 先给对应的jar包导入 建立一个junit单元测试 配置文件 log4j.properties ### \u914D\u7F6E\u6839 ### log4j.rootLogger debug,console ,fileAppender,dailyRo…

诗词歌赋,样样精通!诗词古语小程序带你领略魅力古风丨实战

1. 小程序功能 古诗词大全成语大全成语接龙诗词飞花令诗词分享、收藏诗词接龙唐诗宋词起名字百家姓猜谜语2. 小程序预览&#xff1a; 3. 部分截图 首页 列表页 详情页 分享页 唐诗宋词 成语接龙 4. 项目结构 . ├── README.md ├── project.config.json …

mybatis学习(50):嵌套查询

数据库表 数据库叫blog_gp1701 author表 数据 blog表 数据 comment表 数据 post表 数据 目录结构 jar包导入 先给对应的jar包导入 建立一个junit单元测试 配置文件 log4j.properties ### \u914D\u7F6E\u6839 ### log4j.rootLogger debug,console ,fileAppender,dailyRo…

《WF编程》系列之3 - 漫游工作流:Visual Studio 2005 扩展

《WF编程》系列之3 - 漫游工作流:Visual Studio 2005 扩展 1.2.2 Visual Studio 2005 扩展 Microsoft提供了一个Visual Studio 2005 的工作流扩展(Microsoft Visual Studio 2005 Extensions for Windows Workflow)其中包含用于构建工作流的可视化设计器. 活动排列在工具箱里,可…

只需20小时,让0基础的你掌握小程序云开发!这个暑假,约否?

今天的故事要从小开和小发这对好基友的假期说起...... 没错&#xff01;他来了&#xff0c;他来了&#xff0c;云开发带着小程序开发夏令营最新情报向我们走来了&#xff01; 为了让更多的童鞋享受高效率、“在云上”掌握小程序开发这一热门技术&#xff0c;也为了解决大家自学…

Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

去空格及特殊符号 s.strip().lstrip().rstrip(,) 复制字符串 #strcpy(sStr1,sStr2) sStr1 strcpy sStr2 sStr1 sStr1 strcpy2 print sStr2 连接字符串 #strcat(sStr1,sStr2) sStr1 strcat sStr2 append sStr1 sStr2 print sStr1 查找字符 #strchr(sStr1,sStr2) # < 0 …

mybatis学习(52):扩展结果的展现

首先使用逆向工程创建相关类 数据库表 author blog 新建一个项目&#xff0c;将逆向工程的生成的拷贝进来 配置文件 log4j.properties ### \u914D\u7F6E\u6839 ### log4j.rootLogger debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE### \u8BBE\…

统计HDFS文件数量,大小,以及在某范围大小的文件数量

统计HDFS文件数量大小&#xff0c;小于20M文件数量 hadoop fs -du -h / # 统计文件大小hadoop fs -count / # 统计文件数量&#xff0c;返回的数据是目录个数&#xff0c;文件个数&#xff0c;文件总计大小&#xff0c;输入路径hadoop fs -ls -R /path/data | grep ^- > ~/d…

mybatis学习(53):构造方法映射

数据库表 数据库叫blog_gp1701 author表 数据 blog表 数据 comment表 数据 post表 数据 目录结构 jar包导入 先给对应的jar包导入 建立一个junit单元测试 配置文件 log4j.properties ### \u914D\u7F6E\u6839 ### log4j.rootLogger debug,console ,fileAppender,dailyRo…

python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小

python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求&#xff1a;指定目录下&#xff0c;文件夹数目/文件数目/所有文件大小&#xff0c;类似Windows如下功能&#xff1a; 模块介绍&…

Linux 内核编码风格【转】

原文&#xff1a;http://www.cnblogs.com/baochuan/archive/2013/04/08/3006615.htmlLinux 内核编码风格序像其他大型软件一样&#xff0c;Linux制订了一套编码风格&#xff0c;对代码的格式、风格和布局做出了规定。我写这篇的目的也就是希望大家能够从中借鉴&#xff0c;有利…

mybatis学习(54):鉴定器

数据库表 数据库叫blog_gp1701 author表 数据 blog表 数据 comment表 数据 post表 数据 vechcle 目录结构 jar包导入 先给对应的jar包导入 建立一个junit单元测试 配置文件 log4j.properties ### \u914D\u7F6E\u6839 ### log4j.rootLogger debug,console ,fileAppender…

hadoop fs:du统计hdfs文件(目录下文件)大小的用法

hadoop fs:du统计hdfs文件&#xff08;目录下文件&#xff09;大小的用法 hadoop fs 更多用法&#xff0c;请参考官网&#xff1a;http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html 以下是我的使用统计文件时使用的记录&#xff1a; [tdv00938 ~]$ hadoop fs -ls /jc_…

sqoop操作之Oracle导入到HDFS

导入表的所有字段 sqoop import --connect jdbc:oracle:thin:192.168.1.100:1521:ORCL \ --username SCOTT --password tiger \ --table EMP -m 1; 查看执行结果&#xff1a; hadoop fs -cat /user/hadoop/EMP/part-m-00000 7369,SMITH,CLERK,7902,1980-12-17 00:00:00.0,800,n…

ps学习1:去除图片上的文字

首先我们看到如图所示的图&#xff0c;这个时候我们要给他右上角的文字去除 首先打开我们的ps工具--我登陆的在线ps教程 https://www.uupoop.com/ 点击编辑---填充 保存 完成修改

Java面试题16 牛客 以下java程序代码,执行后的结果是()

Java面试题16 牛客 以下java程序代码&#xff0c;执行后的结果是&#xff08;&#xff09; 1 2 3 4 5 6 7 8 9 10 public class Test { public static void main(String[] args) { Object o new Object() { public boolean equals(Object o…

Hive压缩说明

为什么要压缩 在Hive中对中间数据或最终数据做压缩&#xff0c;是提高数据吞吐量和性能的一种手段。对数据做压缩&#xff0c;可以大量减少磁盘的存储空间&#xff0c;比如基于文本的数据文件&#xff0c;可以将文件压缩40%或更多。同时压缩后的文件在磁盘间传输和I/O也会大大减…

kubelet源码学习(一):kubelet工作原理、kubelet启动过程

本文基于Kubernetes v1.22.4版本进行源码学习 1、kubelet工作原理 1&#xff09;、kubelet核心工作 kubelet的工作核心就是一个控制循环&#xff0c;即&#xff1a;SyncLoop&#xff08;图中的大圆圈&#xff09;。而驱动这个控制循环运行的事件&#xff0c;包括&#xff1a;P…

Java面试题18 牛客 假定Base b = new Derived();

Java面试题18 牛客 假定Base b new Derived&#xff08;&#xff09;; 调用执行b.methodOne&#xff08;&#xff09;后&#xff0c;输出结果是什么&#xff1f; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 public class Base { public…