Mybatis(第三篇:不同的返回值类型:Map和JavaBean)
admin
2024-01-31 00:00:13

Mybatis(第三篇:不同的返回值类型:Map和JavaBean)

目录

  • Mybatis(第三篇:不同的返回值类型:Map和JavaBean)
    • 1.pom.xml
    • 2.mybatis-config.xml配置文件
    • 3.module层
    • 4.mapper层(返回值为map类型和JavaBean对象)
    • 5.mapper配置文件
    • 6.测试类

返回值为map类型和JavaBean对象

1.pom.xml


4.0.0com.bjpowernode01_hello_mybatis1.0.0UTF-81.81.8org.mybatismybatis3.5.6mysqlmysql-connector-java8.0.30org.projectlomboklombok1.18.20providedjunitjunit4.12test

2.mybatis-config.xml配置文件

resources文件夹下
mybatis-config.xml




3.module层

com.bjpowernode.domain
User类

package com.bjpowernode.domain;import lombok.*;import java.util.Date;@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class User {private Long id;private String name;private Integer age;private int sex;private String address;private Date birthday;}

4.mapper层(返回值为map类型和JavaBean对象)

com.bjpowernode.mapper
UserMapper接口

package com.bjpowernode.mapper;import com.bjpowernode.domain.User;
import org.apache.ibatis.annotations.MapKey;import java.util.List;
import java.util.Map;public interface UserMapper {List listAll();//返回值为Map类型@MapKey("id")Map queryById1(Long id);//返回值为JavaBean对象User queryById2(Long id);}

5.mapper配置文件

resources文件下
com.bjpowernode.mapper
UserMapper.xml





6.测试类

package com.bjpowernode.test;import com.bjpowernode.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;public class MyBatisTest {@Testpublic void testSelect() throws IOException {// 加载MyBatis的核心配置文件InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");//  获取sqlSessionFactory 工厂对象SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);// 获取sqlSession对象SqlSession sqlSession = factory.openSession();// 调用mybatis的接口方法/*参数:statement 语句 :(namespace 的值  + "." + sql标签中id的属性的值)* */List list = sqlSession.selectList("com.bjpowernode.mapper.UserMapper.listAll");list.forEach(System.out::println);// 提交事务sqlSession.commit();// 释放资源sqlSession.close();}@Testpublic void testSelectOne1() throws IOException {// 加载MyBatis的核心配置文件InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");//  获取sqlSessionFactory 工厂对象SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);// 获取sqlSession对象SqlSession sqlSession = factory.openSession();// 调用mybatis的接口方法/*参数一:statement 语句 :(namespace 的值  + "." + sql标签中id的属性的值)参数二: sql语句需要的参数 (只能传一个值,如果sql中需要很多参数,采用封装的方式处理)无论返回值类型是map 还是 javaBean ,则都使用 selectOne,如果返回值是list则使用selectList* */Map map = sqlSession.selectOne("com.bjpowernode.mapper.UserMapper.queryById1", 1L);System.out.println("map = " + map);map.forEach((k, v) -> {System.out.println(k + ":" + v);});// 提交事务sqlSession.commit();// 释放资源sqlSession.close();}@Testpublic void testSelectOne2() throws IOException {// 加载MyBatis的核心配置文件InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");//  获取sqlSessionFactory 工厂对象SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);// 获取sqlSession对象SqlSession sqlSession = factory.openSession();// 调用mybatis的接口方法/*参数一:statement 语句 :(namespace 的值  + "." + sql标签中id的属性的值)参数二: sql语句需要的参数 (只能传一个值,如果sql中需要很多参数,采用封装的方式处理)无论返回值类型是map 还是 javaBean ,则都使用 selectOne,如果返回值是list则使用selectList* */User user = sqlSession.selectOne("com.bjpowernode.mapper.UserMapper.queryById2", 1L);System.out.println("user = " + user);// 释放资源sqlSession.close();}}

相关内容

热门资讯

迈威生物:9MW1911注射液... 每经AI快讯,12月23日,迈威生物(688062.SH)公告称,公司收到美国食品药品监督管理局签发...
河南省药品医疗器械检验院(河南... 12月23日消息,国家药品监督管理局旗下河南省药品医疗器械检验院(河南省疫苗批签中心)披露的生物制品...
农业农村部进一步从严规范农药管... 转自:农业农村部网站本网讯近日,农业农村部印发《关于进一步规范农药管理工作的通知》,围绕落实修改后农...
长春轨道交通7号线轨道全线贯通 12月23日上午9时许,长春轨道交通7号线轨道铺设现场传来振奋人心的消息——随着最后一组钢轨接头精准...
云工场(02512):公司股权... 云工场(02512)发布公告,本公司董事会接获Ru Yi Information Technolog...