一. 知识点引入:
dtd约束:
| : 任选其一
, : 必须按顺序写标签
? : 可写可不写(重复一次或0次)
* : 重复0次或多次
+ : 重复一次或多次
二. SqlMapConfig.xml 详解:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 以上属于固定格式,引入约束 -->
<configuration>
<!--
properties ?, 配置属性,引入属性的配置文件.
settings ?, 核心配置: 缓存,日志.
typeAliases ?, 类型别名配置.
typeHandlers ?, 类型转换操作.
objectFactory?,
objectWrapperFactory?,
reflectorFactory?,
plugins?, 引入mybatis的插件 - ssm综合练习,分页插件
environments?, 数据库的环境的配置
databaseIdProvider?, 数据库的提供商:不用
mappers? 引入映射配置文件的
-->
<!--提取常用的属性(第一种提取方法)-->
<!--<properties>-->
<!--<property name="driver" value="com.mysql.jdbc.Driver"></property>-->
<!--<property name="url" value="jdbc:mysql://localhost:3306/mybatisdb"></property>-->
<!--<property name="username" value="root"></property>-->
<!--<property name="password" value="root"></property>-->
<!--</properties>-->
<!--引入属性配置文件[提取常用的属性(第二种提取方法)] 需要引入外部文件"db.properties"-->
<properties resource="db.properties"></properties>
<!--别名配置-->
<typeAliases>
<!--别名的映射(第一种方法)[已译注]-->
<!--<typeAlias type="com.itheima.domain.SysUser" alias="user"></typeAlias>-->
<!--别名的映射(第二种方法)把整个包中的实体类扫描创建别名,别名就是类名,忽略大小写-->
<package name="com.itheima.domain"></package>
</typeAliases>
<!--环境-->
<!--配置数据库的环境-->
<environments default="development">
<environment id="development">
<!--事务管理器: jdbc的事务-->
<transactionManager type="JDBC"/>
<!--数据库连接池的配置
type属性值:
POOLED:采用的是mybatis自带的数据源的配置
UNPOOLED:非数据源配置, connection
JNDI
主流的数据源配置
c3p0
dbcp
spring的数据源
druid
-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--引入配置文件-->
<mappers>
<!--引用配置:根据项目路径-->
<!--<mapper resource="com/itheima/dao/UserDao.xml"/>-->
<!--
引入配置: 引入dao的接口
前提:xml中的namespace必须与dao接口全类名一致
xml的路径必须dao接口的包名一致
-->
<!--<mapper class="com.itheima.dao.UserDao"></mapper>-->
<!--必须是一个绝对路径-->
<!--<mapper url="file:///F:\ideaworkspace\project_66\mybatis_day02_4_crud_config\src\main\resources\com\project\dao\UserDao.xml"></mapper>-->
<!--
引入配置,引入的是包中所有的接口
*** 推荐使用***
-->
<!--<package name="com.project.dao"></package>-->
</mappers>
</configuration>
三. Mapper.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">
<!--
采用动态代理的方法开发
namespace必须写dao接口的全类名
id属性必须与dao接口中的方法名称一致
-->
<mapper namespace="com.project.dao.UserDao">
<!--
id属性必须与dao接口中的方法名称一致
resultType:可以使用别名
parameterType:也可以使用别名
-->
<select id="findAll" resultType="User">
select * from sys_user
</select>
<select id="findById" resultType="User" parameterType="iNt">
select * from sys_user where id = #{id}
</select>
</mapper>
Mybatis Mapper.xml 增删改查详解
Mapper.xml 传递参数详解
Mapper.xml 返回值详解
Mapper.xml 动态sql语句