Mybatis的映射于核心配置(简)

Mybatis的映射、核心配置

手动实现Dao的方式(了解)

代理Dao的方式:
只需要写Dao层的接口即可 不需要写实现类 让mybatis去动态生成接口的实现类
Mapper接口开发需要遵循以下规范:
1、Mapper.xml文件中的namespace与mapper接口的全限定名相同
2、Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
3、Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql的parameterType的类型相同
4、Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同

@test
public void test1() throws IOException{
	InputStream inputStream = Resources.getResourceAsStream("sqlMapConfig.xml");
    SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
    sqlSession = sessionFactory.openSession();
    userMapper = sqlSession.getMapper(UserMapper.class);//获取接口的代理对象
    //使用代理Dao的方式查询所有
    List<User> all=userMapper.findAll();
    for(User user:all){
        System.out.println(user);
    }
}
映射配置文件中的namespace为什么必须要和接口的全限定类名一样?
首先我们在加载核心配置文件时 可以获取映射配置文件
Mybatis就会去加载映射配置文件 解析里面的namespace和每个Statememt
将解析的结果保持到Map中 Map的key是namespace+id Map的Value是Mapper对象(SQL,结果集)

当我们在使用代理对象去调用接口中的方法时

Mybatis可以使用发射去拿到该调用方法的名称和当前类的全限定类名
然后将全限定类名+方法名称 组成一个key 再然后去Map中查找对应的key
如果有就可以找到对应的Value 而Value中就有要执行的SQL和封装的结果集
所以你的namespace必须和接口的全限定类名一致 你的id必须和接口中的方法名称一致
<insert id="saveUser" parameterTpye="user">
	<selectKey keyProperty="id" keyComlumn="id" resultType="int" order="AFTER">
	select last_insert_ID()
	</selectKey>
	insert into mybatis values (#{id},#{username},#{password})
</insert>
	-、selectKey标签可以用来获取新插入数据的主键
	-、keyProperty属性是指实体类中主键的属性名称
	-、KeyColumn属性是指表中主键的字段名称
	-、resultType属性是指主键的数据类型
	-、order是决定获取主键的函数是在插入语句之前执行还是之后执行
<resultMap id="xxoo" type="user1">
	<id property="uid" column="id"/>
	<result property="uname" column="username"/>
	<result property="password" column="password"/>
</resultMap>
resultMap标签是用来描述实体类中的属性和表中字段的对应关系的
id是这个resultMap的标志 要求在同一个映射文件中要唯一
type属性是用来指定这个resultMap要描述的实体对象是谁
<id>标签是用来描述非主键的对应关系
<result>标签是用来描述非主键的对应关系
property属性是用来指定实体中的属性名称
column属性是用来指定表中的字段名称
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MyBatis核心配置文件通常称为配置文件或映射文件。它们通常是 XML 格式或 Java Properties 格式的文件,用于配置 MyBatis 的运行时行为。其中包括数据库连接信息、mapper 映射配置、缓存配置、插件配置等。在配置文件中,我们需要定义一些必备的信息,比如数据源信息、事务管理器信息、mapper 配置信息等等。同时还可以对 MyBatis 的插件、拦截器进行配置和扩展。总的来说,配置文件是 MyBatis 应用的关键配置之一。 ### 回答2: mybatis核心配置是指mybatis框架中的核心配置文件,即mybatis-config.xml文件。该文件位于项目的资源文件夹中,其主要作用是对mybatis框架进行全局配置,包括数据库连接信息、Mapper配置、缓存管理、日志输出等。 mybatis核心配置文件主要包括以下几个方面的内容: 1. 数据库连接配置:在核心配置文件中,可以配置数据库连接的驱动、URL、用户名和密码等信息,通过这些信息,mybatis可以正确连接到数据库。 2. Mapper配置mybatis核心功能是将数据库操作映射为Java对象的方法调用,而Mapper就是用于定义Java对象与数据库操作的映射关系的。在核心配置文件中,可以配置Mapper文件的路径,用于告诉mybatis在哪里找到Mapper文件。 3. 缓存管理配置mybatis提供了多种缓存机制,通过缓存可以提高查询性能。在核心配置文件中,可以配置缓存的类型和相关参数,如缓存的大小、过期时间等。 4. 类型别名配置mybatis在处理结果集时,需要将数据库的列映射为Java对象的属性,而mybatis会根据Java对象的全限定类名来匹配数据库列的名称。为了配置核心配置文件中可以配置类型别名,将Java对象的全限定类名化为一个短的别名。 5. 插件配置mybatis提供了插件机制,允许开发人员自定义拦截器,对数据库操作进行拦截和扩展。在核心配置文件中,可以配置需要使用的插件,以及插件的相关参数。 总之,mybatis核心配置文件是对mybatis框架进行全局配置的文件,通过对这些配置的修改,我们可以灵活地配置mybatis的各项功能和参数,从而满足具体项目的需求。 ### 回答3: MyBatis是一种轻量级的ORM(对象关系映射)框架,其核心配置主要包括以下几个方面: 1. 数据源配置:在MyBatis中,首先需要配置数据源,包括数据库的连接信息,如驱动类名、数据库URL、用户名和密码等。可以使用基于JDBC的连接池,如Apache的Commons DBCP、C3P0等,也可以使用MyBatis提供的内置连接池。 2. 映射文件配置MyBatis通过映射文件将SQL语句与Java方法进行绑定。映射文件中包含了SQL语句的定义、参数的映射以及结果的映射规则。其中,SQL语句可以使用静态SQL或动态SQL,支持的标签有<select>、<insert>、<update>、<delete>等。 3. 实体类的映射配置MyBatis需要将Java对象与数据库表进行映射。通过在映射文件中配置查询结果到实体类的映射关系,以及实体类到数据库表的映射关系,可以实现自动的对象关系映射。 4. 设置属性和参数:MyBatis核心配置还包括了一些全局设置和属性配置,例如是否使用缓存、缓存的刷新策略、超时时间等。此外,还可以配置一些插件来扩展MyBatis的功能,如分页插件、日志插件等。 通过以上核心配置MyBatis能够完成从Java方法到SQL语句的映射,以及从数据库结果到Java对象的映射。这样,我们可以通过单的配置和使用,实现数据库的访问和操作。同时,MyBatis提供了很好的灵活性和可扩展性,使得开发人员可以根据实际需求进行定制化的配置和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值