MyBatis
多环境多数据库操作数据
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
<environment id="yanfa5">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${taotao.jdbc.driver}"/>
<property name="url" value="${taotao.jdbc.url}"/>
<property name="username" value="${taotao.jdbc.user}"/>
<property name="password" value="${taotao.jdbc.password}"/>
</dataSource>
</environment>
首先我们需要配置多个数据库环境,这里以两个为例
<mappers>
<mapper class="com.lanou3g.mybatis.dao.StudentDao"/>
<mapper resource="mapper/TeacherMapper.xml"/>
<mapper resource="mapper/StudentMapper.xml"/>
<mapper class="com.lanou3g.mybatis.dao.StuDao"/>
</mappers>
通过两种方式引入映射关系xml或者注解方式
<typeAliases>
<typeAlias type="com.lanou3g.mybatis.bean.Teacher" alias="Teacher"/>
<typeAlias type="com.lanou3g.mybatis.bean.Student" alias="Student"/>
</typeAliases>
在mybatis_conf.xml中可以通过 标签可以给包的类型起别名,从而省去了大量的包路径代码,在映射中可以通过xml的形式与下图中的re’sultMap结合使用,从而代替返回值类型
<select id="queryResultMap" resultMap="stu">
select * from student;
</select>
<settings>
<setting name="mapUnderscoreToCamelCase" value="false"/>
</settings>
此代码用于设置java中的字段属性对应Mysql中的_并将 _ 后的第一个字母大写
<insert id="insertTeacherByParam">
insert into teacher(tanme,age) values (#{tname},#{age});
</insert>
int insertTeacherByParam(@Param("tname") String tname, @Param("age") int age);
当我们对数据库操纵时如果同时对多个数据库进行操作,我们最好应以注解的方式在对应的位置加上@param 注解