MybatisDemo(二)规范操作-------炒鸡炒鸡简单

本文详细介绍MyBatis的整合配置流程,包括项目结构搭建、实体类创建、DAO接口及XML映射文件编写,以及如何通过Util类创建SqlSessionFactory。并通过一个具体的例子演示如何使用MyBatis进行数据查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MybatisDemo(一):我们配置了batis.xml文件以及JDbc.properties文件,包括mapper.xml文件。
今天我们来规范一下操作,
一)首先第一步,新创建一个项目,按照我下面的包层次创建。把该引的包把引进去
在这里插入图片描述
这是我们的目录结构。
二)进到mybatis.xml文件中,修改mapper配置,
在这里插入图片描述
三)创建一个Orders实体类(在pojo中),并创建一个orders表:order_id,order_time,user_id(并设置user_id为外键)
实体类在编写的时候将数据库字段的下划线去掉,后一个字母大小,如下:

	private Integer orderId;
	private String  orderTime;
	private Integer userId;

重写一下toString,生成get set方法
四)创建UserDao接口,编写OrdersDao.xml文件,并且一定要保证这两个在同一个包下面,就是batis.xml文件mappers配置的地方
在这里插入图片描述
需要注意的是,编写OrdersDao.xml的时候,文件名必须要与接口名称一致
mapper中的namespace属性要指定哪个Dao
上代码

<?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属性 ,给这个映射文件起一个唯一标识 -->
<mapper namespace="com.oracle.mybatis.dao.OrdersDao">
	<!-- resultMap用来解决数据库中含有下划线与实体类不符合的情况 -->
	<resultMap type="orders" id="orderMap">
		<id property="orderId" column="order_id" />
		<result property="orderTime" column="order_time" />
		<result property="userId" column="order_id" />
	</resultMap>


	<!-- 查询所有的ORders表 -->
	<select id="selectOrdersById" parameterType="int" resultMap="orderMap">
		select * from orders where order_id=#{value}

	</select>


</mapper>

这里呢,有一个需要注意的地方就是 resultMap,一定要写对了。
五)OrdersDao,OrdersService,OrdersServiceImpl省略了,方法名称一定要和OrdersDao.xml一致。
六)接下来编写Util类,来创建我们的工厂

	private static SqlSessionFactory sqlSessionFactory;

	/**
	 * 加载mybatisxml配置文件 @Title: getSqlSessionFactory @Description:
	 * TODO @param @return @param @throws Exception @return
	 * SqlSessionFactory @throws
	 */
	public static SqlSessionFactory getSqlSessionFactory() throws Exception {
		InputStream in = Resources.getResourceAsStream("mybatis.xml");
		sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
		return sqlSessionFactory;

	}

六)在controller我们编写一个test测试,

	public void test2(){
		OrdersService ordersService= new OrderServiceImpl();
		List<Orders> orders=ordersService.selectOrdersById(1);
		System.out.println(orders);
	}

输出成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值