mybatis简记
mybatis学习笔记(eclipse)
概述
mybatis针对dao层的良好管理框架,传统的对于JDBC的操作繁琐冗余,mybatis通过映射配置文件的方式良好的管理JDBC驱动,还支持注解配置
JDBC驱动
import java.sql.DriverManager.*;
import org.junit.*;
class Test{
@Test
public void test1(){
//1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//2. 获得数据库连接
Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
//3.操作数据库,实现增删改查
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT user_name, age FROM imooc_goddess");
//如果有数据,rs.next()返回true
while(rs.next()){
System.out.println(rs.getString("user_name")+" 年龄:"+rs.getInt("age"));
}
}
}
mybatis的一个简单构建
文件配置(Maven管理项目)
dao
src/main/java/dao/IUserDao.java
package org.mybati.dao;
import java.util.List;
//import org.apache.ibatis.annotations.Select;
import org.mybati.domain.User;
public interface IUserDao {
/**
* 查询所有
*
* @return
*/
List<User> findAll();
}
domain
src/main/java/domain/User.java
JavaBean(User) | MySql field |
---|---|
String username | username |
String address | address |
id | id |
xml 的Configurations(必须)
src/main/resources/SqlConfiguration.xml
<configuration>
<!-- url可以代替resource : file:///c/.../jdbcConfig.properties -->
<properties resource="jdbcConfig.properties"></properties>
<settings>
<!-- 开启动态加载 -->
<setting name="lazyLoadingEnabled" value="true" />
</settings>
<!-- 指定 resultType="user" resultType="usEr"均可以 -->
<typeAliases>
<!-- <typeAlias type="org.mybati.domain.User" alias="user"/> -->
<!-- 自动寻找package name 下面的javabean 类,自动起别名 -->
<package name="org.mybati.domain" />
</typeAliases>
<!--default="MySQL"选中mysql环境-->
<environments default="mysql">
<environment id="mysql">
<!-- 驱动管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- UNPOOLED:非连接池 -->
<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>
<!-- 映射配置文件,对于IUserDao 接口的代理实现
<mapper class="org.mybati.dao.IUserDao"/>
<mapper resource="org/mybati/dao/IUserDao.xml"/>
-->
<!-- 自动寻找目录下的配置文件 -->
<package name="org.mybati.dao" />
</mappers>
</configuration>
xml 的mapper 映射配置(非注解配置)
src/main/resources/dao/IUserDao.xml(此文件路径为上一步指定)
<!--
mapper:
详细位置在SqlConfiguration.mappers.mapper或者
SqlConfiguration.mappers.package.name中已经限定好
-->
<mapper namespace="全限定类名">
<!--sql语句-->