所需要用到的其他工具或技术:

项目管理工具 : Maven
测试运行工具 : Junit
数据库 : Derby
Maven Dependencies:
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.7</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.10.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.10.2.0</version>
</dependency>
</dependencies>
SQL 建表及数据插入(新建一个USER_TEST_TB_RELATIONSHIP表,然后CopyUSER_TEST_TB的数据,Derby不支持表结构中列名的修改,只能这么做了):
CREATE TABLE USER_TEST_TB_RELATIONSHIP( USER_ID INT PRIMARY KEY, USER_USERNAME VARCHAR(20) NOT NULL, USER_PASSWORD VARCHAR(20) NOT NULL, USER_NICKNAME VARCHAR(20) NOT NULL ); INSERT INTO USER_TEST_TB_RELATIONSHIP(USER_ID,USER_USERNAME,USER_PASSWORD,USER_NICKNAME) SELECT ID,USERNAME,PASSWORD,NICKNAME FROM USER_TEST_TB;
Mybatis配置文件 src/main/resource源目录下
test-mybatis-configuration.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>
<properties>
<property name="driver" value="org.apache.derby.jdbc.ClientDriver" />
<property name="url" value="jdbc:derby://localhost:1527/bjpowernode;create=true" />
</properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/bjpowernode/practice/UserMapper.xml" />
</mappers>
</configuration>
User.java对象类(src/main/java/com/bjpowernode/practice目录下)
package com.bjpowernode.practice;
public class User
{
private Integer id;
private String username;
private String password;
private String nickname;
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 getNickname()
{
return nickname;
}
public void setNickname(String nickname)
{
this.nickname = nickname;
}
}
UserMapper.xml Mapper文件(src/main/java/com.bjpowernode.practice目录下)
<?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.bjpowernode.practice.UserMapper">
<!-- 对象属性和表字段的对应 -->
<resultMap id="userResultMap" type="com.bjpowernode.practice.User">
<result property="id" column="USER_ID"/>
<result property="username" column="USER_USERNAME"/>
<result property="password" column="USER_PASSWORD"/>
<result property="nickname" column="USER_NICKNAME"/>
</resultMap>
<select id="getUser" resultMap="userResultMap">
select *
from USER_TEST_TB_RELATIONSHIP
</select>
</mapper>
UserMapper.java Mapper类(src/main/java/com.bjpowernode.practice目录下)
package com.bjpowernode.practice;
import java.util.List;
public interface UserMapper
{
public List<User> getUser();
}
测试类TestMyBatis.Java(src/test/java/com.bjpowernode.practice目录下)
package com.bjpowernode.practice;
import java.io.InputStream;
import java.text.MessageFormat;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
public class TestMyBatis
{
private String source;
private InputStream inputStream;
private SqlSessionFactory sqlSessionFactory;
@Before
public void setUp()
{
/**
* 准备Mybatis运行环境
*/
source = "test-mybatis-configuration.xml";
inputStream = TestMyBatis.class.getClassLoader().getResourceAsStream(source);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testGet()
{
try
{
// 获取Session连接
SqlSession session = sqlSessionFactory.openSession();
// 获取Mapper
UserMapper userMapper = session.getMapper(UserMapper.class);
// 显示User信息
System.out.println("Test Get start...");
this.printUsers(userMapper.getUser());
System.out.println("Test Get finished...");
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
*
* 打印用户信息到控制台
*
* @param users
*/
private void printUsers(final List<User> users)
{
int count = 0;
for (User user : users)
{
System.out.println(MessageFormat.format("==User[{0}]=================", ++count));
System.out.println("User Id: " + user.getId());
System.out.println("User UserName: " + user.getUsername());
System.out.println("User Password: " + user.getPassword());
System.out.println("User nickname: " + user.getNickname());
}
}
}
总结
以上所述是小编给大家介绍的mybatis实现表与对象的关联关系_动力节点Java学院整理,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# mybatis表与对象关联
# mybatis关联关系
# Mybatis多表关联查询的实现(DEMO)
# Mybatis 一对多和多对一关联查询问题
# 深入浅出MyBatis中映射文件和实体类的关联性
# 实例讲解Java的MyBatis框架对MySQL中数据的关联查询
# MyBatis实践之动态SQL及关联查询
# MyBatis学习教程(五)-实现关联表查询方法详解
# MyBatis学习笔记(二)之关联关系
# mybatis实现一对一关联映射实例代码
# mybatis多对多关联实战教程(推荐)
# Mybatis中3种关联关系的实现方法示例
# 目录下
# 小编
# 运行环境
# 在此
# 给大家
# 不支持
# 这么做
# 所需要
# 所述
# 给我留言
# 配置文件
# 感谢大家
# 新建一个
# 疑问请
# 有任何
# 关联关系
# src
# resource
# strong
# configuration
相关文章:
建站之星安装模板失败:服务器环境不兼容?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
定制建站流程解析:需求评估与SEO优化功能开发指南
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何用PHP快速搭建高效网站?分步指南
如何在宝塔面板中创建新站点?
如何快速搭建安全的FTP站点?
如何获取免费开源的自助建站系统源码?
制作宣传网站的软件,小红书可以宣传网站吗?
建站VPS推荐:2025年高性能服务器配置指南
建站之星导航如何优化提升用户体验?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
如何快速搭建二级域名独立网站?
MySQL查询结果复制到新表的方法(更新、插入)
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何快速搭建FTP站点实现文件共享?
大同网页,大同瑞慈医院官网?
网站按钮制作软件,如何实现网页中按钮的自动点击?
建站之星安装后如何配置SEO及设计样式?
大连网站制作公司哪家好一点,大连买房网站哪个好?
建站之星ASP如何实现CMS高效搭建与安全管理?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
小建面朝正北,A点实际方位是否存在偏差?
建站之星备案是否影响网站上线时间?
C++如何使用std::optional?(处理可选值)
专业网站建设制作报价,网页设计制作要考什么证?
建站之星伪静态规则如何设置?
如何在企业微信快速生成手机电脑官网?
高端网站建设与定制开发一站式解决方案 中企动力
网站专业制作公司有哪些,做一个公司网站要多少钱?
如何用好域名打造高点击率的自主建站?
如何确保西部建站助手FTP传输的安全性?
建站主机是否属于云主机类型?
如何自定义建站之星模板颜色并下载新样式?
建站之星Pro快速搭建教程:模板选择与功能配置指南
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何在新浪SAE免费搭建个人博客?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
Android自定义listview布局实现上拉加载下拉刷新功能
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
如何通过NAT技术实现内网高效建站?
网站制作服务平台,有什么网站可以发布本地服务信息?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何在万网开始建站?分步指南解析
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
5种Android数据存储方式汇总
*请认真填写需求信息,我们会在24小时内与您取得联系。