Mybatis核心配置文件
<?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>
<!--配置一些属性和属性值,子标签的name和value对应这java.util.Properties类是个Map集合的key和value。配好了后可以在下面的各种标签中使用这些属性值。
使用方法是:将其他标签的value值改为"${property标签的name值}"
-->
<properties resource=""> <!--我们一般不在子标签中配置这些属性和属性值,而是通过resource属性加载相关配置文件。(如果使用url属性则是从绝对路径中加载相关配置文件的)-->
<!--<property name="" value=""/>-->
</properties>
<!--配置Mybatis的全局设置-->
<settings>
<setting name="logImpl" value=""/> <!--配置Mybatis使用的日志组件-->
<setting name="mapUnderscoreToCamelCase" value="true"/> <!--配置开启驼峰命名自动映射。要求实体类的属性命名遵循驼峰命名规范,数据库字段名遵循SQL命名规范。-->
</settings>
<!--配置别名-->
<typeAliases>
<package name=""/> <!--name属性:给该包下的所有类自动起别名为类名。值为包的全限定名。-->
</typeAliases>
<!--配置数据库连接的根标签:可以配置多个数据库-->
<environments default="development"> <!--default属性:配置要连接数据库的id。值为<environment></environment>子标签的id属性值,默认值为development-->
<!--配置每个数据库的相关信息:主要配置连接信息。一个<environment></environment>标签对应一个数据库、对应一个SqlSessionFactory对象-->
<environment id="development"> <!--id属性:配置的数据库的唯一标识-->
<transactionManager type="JDBC"/> <!--type属性:配置使用的事务管理器类型-->
<dataSource type="POOLED"> <!--type属性:设置使用的数据源类型-->
<!--配置数据库的连接信息、数据库连接池参数...等等-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/> <!--配置数据库的驱动信息-->
<property name="url" value="jdbc:mysql://localhost:3306/powernode"/> <!--配置数据库的url-->
<property name="username" value="root"/> <!--配置数据库的用户名-->
<property name="password" value="dapang411426520"/> <!--配置数据库的密码-->
<property name="poolMaximumActiveConnections" value="10"/> <!--配置数据库连接池中最大正在使用的Connection对象的数量上限。默认值为10-->
<property name="poolTimeToWait" value="20000"/> <!--配置每隔多少毫秒打印日志并且尝试获取Connection对象。默认值为20000毫秒-->
<property name="poolMaximumCheckoutTime" value="10"/> <!--配置使用/使用Connection对象的最长,到时间了就宣布过期返回的数据库连接池中。默认值为20000毫秒-->
<property name="poolMaximumIdleConnections" value=""/> <!--配置数据库连接池中Connection对象的最大空闲数量,超过几个就关闭几个。-->
</dataSource>
</environment>
</environments>
<!--配置关联的SQL映射文件-->
<mappers>
<package name="com.powernode.bank.mapper"/> <!--name属性:配置关联该目录下所有的SQL映射文件。值为存放SQL映射文件目录的全限定名。要求dao接口和SQL映射文件在同级目录下-->
</mappers>
</configuration>
SQL语句映射文件
<?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="org.mybatis.example.BlogMapper"> <!--namespace属性:配置命名空间。防止不同SQL映射文件中SQL语句的id冲突。使用接口代理机制时值为dao接口的全限定名。-->
<!--id属性:是每条SQL语句的唯一标识,这个id就代表了这条SQL语句。使用接口代理机制时值为dao接口中对应方法的方法名-->
<insert id="insertCar" useGeneratedKeys="true" keyProperty=""> <!--useGeneratedKeys属性:值为true。表示要使用插入记录时表自动生成的主键。
keyProperty属性:值为dao接口中对应方法的参数对应实体类的属性名。表示将主键赋给该属性-->
insert into t_car(id,car_num,brand,guide_price,produce_time,car_type)
values(null,#{carNum},#{brand},#{guidePrice},#{produceTime},#{carType})
</insert>
<delete id="deleteCarById">
delete from t_car where id = #{id}
</delete>
<update id="updateCarById">
update t_car set car_num = #{carNum}, brand = #{brand}, guide_price = #{guidePrice}, produce_time = #{produceTime}, car_type = #{carType}
where id = #{id}
</update>
<select id="selectCarById" resultType="com.powernode.mybatis.pojo.Car"> <!--resultType属性:配置封装查询结果集中每条记录的封装数据的类的类型。值为封装数据的类的全限定名。
如果类起了别名,值可以为别名-->
</select>
</mapper>