数据库两张表在springboot中写xml如何写

时间: 2024-01-04 07:14:42 浏览: 27
1. 创建实体类 首先,我们需要创建对应的Java实体类,以便于操作数据库中的数据。我们假设有两张表:`user`和`order`。 User实体类: ```java public class User { private Long id; private String name; private Integer age; // 省略getter和setter方法 } ``` Order实体类: ```java public class Order { private Long id; private Long userId; private String orderNo; private Date createTime; // 省略getter和setter方法 } ``` 2. 创建Mapper接口 接下来,我们需要创建对应的Mapper接口,用于操作数据库。我们可以使用MyBatis提供的注解方式或者XML方式来编写Mapper接口。这里我们选择使用XML方式来编写Mapper接口。 UserMapper接口: ```java public interface UserMapper { User selectById(Long id); List<User> selectAll(); int insert(User user); int update(User user); int deleteById(Long id); } ``` OrderMapper接口: ```java public interface OrderMapper { Order selectById(Long id); List<Order> selectAll(); List<Order> selectByUserId(Long userId); int insert(Order order); int update(Order order); int deleteById(Long id); } ``` 3. 创建Mapper XML文件 接下来,我们需要创建对应的Mapper XML文件,这里我们假设分别为`userMapper.xml`和`orderMapper.xml`。 userMapper.xml: ```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.example.mapper.UserMapper"> <resultMap id="userResultMap" type="com.example.entity.User"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/> </resultMap> <select id="selectById" resultMap="userResultMap" parameterType="java.lang.Long"> select * from user where id=#{id} </select> <select id="selectAll" resultMap="userResultMap"> select * from user </select> <insert id="insert" parameterType="com.example.entity.User"> insert into user(name, age) values (#{name}, #{age}) </insert> <update id="update" parameterType="com.example.entity.User"> update user set name=#{name}, age=#{age} where id=#{id} </update> <delete id="deleteById" parameterType="java.lang.Long"> delete from user where id=#{id} </delete> </mapper> ``` orderMapper.xml: ```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.example.mapper.OrderMapper"> <resultMap id="orderResultMap" type="com.example.entity.Order"> <id property="id" column="id"/> <result property="userId" column="user_id"/> <result property="orderNo" column="order_no"/> <result property="createTime" column="create_time"/> </resultMap> <select id="selectById" resultMap="orderResultMap" parameterType="java.lang.Long"> select * from order where id=#{id} </select> <select id="selectAll" resultMap="orderResultMap"> select * from order </select> <select id="selectByUserId" resultMap="orderResultMap" parameterType="java.lang.Long"> select * from order where user_id=#{userId} </select> <insert id="insert" parameterType="com.example.entity.Order"> insert into order(user_id, order_no, create_time) values (#{userId}, #{orderNo}, #{createTime}) </insert> <update id="update" parameterType="com.example.entity.Order"> update order set user_id=#{userId}, order_no=#{orderNo}, create_time=#{createTime} where id=#{id} </update> <delete id="deleteById" parameterType="java.lang.Long"> delete from order where id=#{id} </delete> </mapper> ``` 4. 配置Mapper 最后,我们需要将Mapper配置到Spring Boot中。这里我们可以使用MyBatis提供的自动配置方式或者手动配置方式来配置Mapper。 自动配置方式: 在`application.properties`中添加如下配置: ```properties mybatis.mapper-locations=classpath:mapper/*.xml ``` 手动配置方式: ```java @Configuration @MapperScan("com.example.mapper") public class MyBatisConfig { @Bean public SqlSessionFactoryBean sqlSessionFactoryBean() throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml")); return sessionFactory; } @Bean public DataSource dataSource() { // 配置数据源 } @Bean public DataSourceTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } } ``` 这里我们使用了注解`@MapperScan`来扫描Mapper接口,并且手动配置了SqlSessionFactoryBean、DataSource和DataSourceTransactionManager。同时,我们需要在`application.properties`中配置数据库连接信息。

相关推荐

最新推荐

recommend-type

在Spring Boot中加载XML配置的完整步骤

主要给大家介绍了关于在Spring Boot中加载XML配置的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

SpringBoot Logback日志记录到数据库的实现方法

主要介绍了SpringBoot Logback日志记录到数据库的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

Spring Boot中扩展XML请求与响应的支持详解

主要给大家介绍了关于Spring Boot中扩展XML请求与响应的支持的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

读写XML文件的内容并将其显示在ListView控件上的方法

下面小编就为大家带来一篇读写XML文件的内容并将其显示在ListView控件上的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

C# 读写XML文件实例代码

在本篇文章里小编给大家整理的是关于C# 读写XML文件最简单方法,需要的朋友们可以跟着学习参考下。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

spring添加xml配置文件

1. 创建一个新的Spring配置文件,例如"applicationContext.xml"。 2. 在文件头部添加XML命名空间和schema定义,如下所示: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。