mybatis入门
mybatis原生用法
sqlSession.selectOne(sqlId,参数);
sqlSession.selectList(sqlId,参数);
sqlSession.update(sqlId,参数);
sqlSession.insert(sqlId,参数);
sqlSession.delete(sqlId,参数);
mybatis接口用法
1 namespace与接口全限定名一致
2 id和抽象函数保持一致
3 参数类型与返回类型保持一致
4 java类名与xml文件名保存一致
public interface GoodsMapper {
Goods selectGoodsById(Goods goods);
}
<select id="selectGoodsById" resultType="com.study.entity.Goods" paramenterType="Goods">
select * from goods where gid=#{gid}
</select>
GoodsMapper mapper = sqlSession.getMapper(GoodsMapper.class);//接口的实现类,该实现类有 mybatis创建
Goods goods = mapper.selectGoodsById();
db.properties
mybatis.driverClass=com.mysql.jdbc.Driver
mybatis.url=jdbc:mysql:///taobao?useUnicode=true&characterEncoding=utf-8
mybatis.user=root
mybatis.password=123456
mybatis-config.xml配置
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--原理通过Dom4j解析后通过反射创建 -->
<configura配置文件ion>
<!-- 加载properties-->
<properties resource="db.properties"/>
<settings>
<setting name="autoMappingBehavior" value="FULL"/><!-- 开启自动映射 -->
<setting name="mapUnderscoreToCamelCase" value="true"/><!-- 开启懒加载 -->
</settings>
<!-- 配置别名,可以在映射文件中使用短名称 -->
<typeAliases>
<!-- 为某个类取别名 -->
<typeAlias type="com.bean.User" alias="user"/>
<!-- 指明那个包下全部用别名,别名默认每个类的类名 -->
<package name="com.bean"/><!-- 常用 -->
<package name="com.dao"/>
</typeAliases>
<!-- 分页插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库 -->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
<environments default="development"><!--环境 -->
<environment id="development">
<transactionManager type="JDBC"/><!-- 事务管理 -->
<dataSource type="POOLED"><!--数据源类型 是否使用连接池 -->
<property name="driver" value="${mybatis.driver}"/>
<property name="url" value="${mybatis.url}"/>
<property name="username" value="${mybatis.user}"/>
<property name="password" value="${mybatis.password}"/>
</dataSource>
</environment>
</environments>
<mappers> <!--用来指定加载映射文件 -->
<!-- 扫描方式 映射文件和接口名一致而且位于同一包下 -->
<package name="com.mapper"/>
</mappers>
</configuration>