MyBatis根据客户编号查询客户信息

1.MySQL数据库中,创建一个名为mybatis的数据库,在此数据库中创建一个t_customer表,同时预先插入几条数据。
在这里插入图片描述

 INSERT INTO t_customer VALUES ('1', 'joy', 'doctor', '13745874578'); 
 

2.在Eclipse中,创建一个名为chapter06的Web项目,将MyBatis的核心JAR包、lib目录中的依赖JAR包,以及MySQL数据库的驱动JAR包一同添加到项目的lib目录下, 并发布到类路径中。
在这里插入图片描述
3.由于MyBatis默认使用log4j输出日志信息,所以如果要查看控制台的输出SQL语句,那么就需要在classpath路径下配置其日志文件。在项目的src目录下创建log4j.properties文件。

 # Global logging configuration
       log4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用MyBatis的嵌套查询来实这个功能。首先,在SalespersonMapper中定义一个方法,接受一个销售人员编号作为参数,返回一个Salesperson对象及其销售的所有Customer对象的列表。这个方法可以使用MyBatis的一对多映射来实: ```java public interface SalespersonMapper { Salesperson selectSalespersonWithCustomers(int salespersonId); } ``` 接下来,在SalespersonMapper.xml中编写这个方法的SQL语句和映射配置。使用嵌套查询查询销售人员信息及其销售的所有客户信息。示例代码如下: ```xml <select id="selectSalespersonWithCustomers" resultMap="salespersonWithCustomersResultMap"> SELECT s.id, s.name, s.email, c.id AS c_id, c.name AS c_name, c.email AS c_email FROM salesperson s LEFT JOIN customer c ON s.id = c.salesperson_id WHERE s.id = #{salespersonId} </select> <resultMap id="salespersonWithCustomersResultMap" type="Salesperson"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="email" column="email"/> <collection property="customers" ofType="Customer"> <id property="id" column="c_id"/> <result property="name" column="c_name"/> <result property="email" column="c_email"/> </collection> </resultMap> ``` 在这个SQL语句中,我们使用了LEFT JOIN来连接salesperson和customer表,以获取销售人员信息及其销售的所有客户信息。在resultMap中,我们使用了一对多映射来将Salesperson对象和Customer对象关联起来。 最后,在你的代码中调用这个方法,传入销售人员的编号作为参数,即可获取Salesperson对象及其销售的所有Customer对象的列表: ```java Salesperson salesperson = salespersonMapper.selectSalespersonWithCustomers(1); List<Customer> customers = salesperson.getCustomers(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值