mybatis核心配置文件

  核心配置文件:

             了解即可: 因为以后在ssm整合的环境中是可以没有核心配置文件,

                                   核心配置文件中所配置的内容 都可以交给spring管理。

 

    把我们连接数据库的信息可以放到一个properties文件中

 

<?xml version="1.0" encoding="UTF-8" ?> <!--xml文件的都有的内容:叫做声明版本号,编码-->

<!--mybatis配置文件的约束-->
<!DOCTYPE configuration
       PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
       "https://mybatis.org/dtd/mybatis-3-config.dtd">
       <configuration>
<!--
mybatis核心配置文件中,标签的顺序:
must match "(properties?,settings?,typeAliases?,typeHandlers?,
objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,
environments?,databaseIdProvider?,mappers?)".
-->

<!--       引入properties文件-->
       <properties resource="jdbc.properties"/>

<!--
typeAliases:设置类型的别名
 属性:
   type:设置需要设置别名的类型
  alias:设置某个类型的别名(如不设置,默认别名,即类名)
-->
       <typeAliases>
<!--               <typeAlias type="com.atguigu.mybatis.pojo.User" alias="User"></typeAlias>-->
<!--   以包为单位,将包下所有的类型设置默认的类型别名(也是最常用的一种方式)               -->
               <package name="com.atguigu.mybatis.pojo"/>
       </typeAliases>

<!--environments:配置多个连接数据库的环境
       属性:
       default:设置默认使用的环境的id
       -->
       <environments default="development">

<!--
environment:配置某个具体的环境
属性:
   id:表示连接数据的环境唯一标识,不能重复
-->
       <environment id="development">

<!--
 transactionManager:设置事务管理方式
    属性:
      type="JDBC/MANAGED"
      JDBC:表示当前环境中,执行sql时,使用的是jdbc中原生事务管理方式事务提交或回滚需手动处理
      MANAGED:被管理,例如spring
-->
       <transactionManager type="JDBC"/>

<!--
  dataSource:配置数据源
    属性:
       type:设置数据源的类型
       type:"POOLED/UNPOOLED/JNDI"
       POOLED:表示使用数据库连接池缓存数据库连接
       UNPOOLED:表示不使用数据库连接池
       JNDI:表示使用上下文中的数据源
-->
<!--         Resource Bundle:资源绑定       -->
       <dataSource type="POOLED">

       <property name="driver" value="${jdbc.driver}"/>
       <property name="url" value="${jdbc.url}"/>
       <property name="username" value="${jdbc.username}"/>
       <property name="password" value="${jdbc.password}"/>
       </dataSource>
       </environment>
       </environments>
       
       <!--引入映射文件-->
       <mappers>
<!--       <mapper resource="mappers/UserMapper.xml"/>-->
<!--
  包在磁盘上就是一层一层目录:要想在resources下面建一个包,不能再中间写. ,而是/
  因为如果new的package的话,中间写.那表示的是包
  如果以一个目录的方式进行创建的话,只能以目录的方式进行分割每个包
  然后在resources创建好包后,就可以在当前包下所有的映射文件都会被我们引入到核心配置文件中

  以包为单位引入映射文件
    要求:
       1.mapper接口所在的包要和映射文件所在的包一致
       2.mapper要和映射文件的名字一致
-->
               <package name="com.atguigu.mybatis.mapper"/>
       </mappers>
       </configuration>


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
       PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
       "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.mapper.UserMapper"><!--这个时候当我们调用mapper接口中的方法,他就可以根据mapper接口全类名找到映射文件-->
   <!--mapper接口和映射文件是一样的-->
   <!--创建两者映射关系-->
   <!--int insertUser();-->
   <insert id="insertUser">  <!--id表示sql里面的唯一标识-->
      insert into t_user values(2,'adimi','12345',24,'男','1123456@qq.com')
   </insert>
   <!--void updateUser();-->
   <update id="updateUser">
      update t_user set username='ls' where id=3
   </update>
   <!--void deleteUser();-->
   <delete id="deleteUser">
      delete from t_user where id=3
   </delete>
   <!--User getUserById();-->
   <!--It's likely that neither a Result Type nor a Result Map was specified.
       上述:为什么报错给出的解决方案;因为我们没有去设置它的一个结果类型,
             我们当前mybatis执行完sql语句后并不知道要转换什么样的一个实体类对象
        所以必须要设置:resultType或 resultMap 结果类型之后,
            它就可以将我们查询出来的结果转换成我们所设置的结果类型,
            如果在把我们最终结果然后作为返回值返回给我们当前接口的方法
      -->
   <!--
   查询功能的标签必须设置resultType或resultMap
   resultType:设置默认的映射关系
   resultMap:设置自定义的映射关系:如果字段名跟属性名不一致的情况下,才需要用到resultMap,(多对一,一对多关系)
  查询的时候我们每个查询结果可能都不一样,所以一定要想好当前查询的结果应该是什么,
  如果你查询的结果是一条,就可以用实体类对象
  如果查询的结果是多条,就可以用list集合
   -->
   <select id="getUserById" resultType="com.atguigu.mybatis.pojo.User">
      select * from t_user where id=1
   </select>
<!-- List<User> getAllUser();   -->
   <select id="getAllUser" resultType="User">
      select * from t_user
   </select>

</mapper>

 

 

posted @ 2022-10-13 21:38  zjw_rp  阅读(127)  评论(0)    收藏  举报