MyBatis入门案例 增删改查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis入门案例 增删改查相关的知识,希望对你有一定的参考价值。

一、MyBatis入门案例:

①:引入jar包

技术分享

 

②:创建实体类 Dept,并进行封装

技术分享

③ 在Src下创建大配置mybatis-config.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>
<typeAliases>
<typeAlias type="cn.happy.entity.Dept" alias="Dept"/>
</typeAliases>

<environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.OracleDriver" />
                <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
                <property name="username" value="wj" />
                <property name="password" value="9090" />
            </dataSource>
        </environment>
    </environments>
    <!--映射文件:描述某个实体和数据库表的对应关系 -->
    <mappers>
        <mapper resource="cn/happy/entity/Dept.xml" />
        
        <mapper resource="cn/happy/entity/Mapper.xml" />
    </mappers>


</configuration>
技术分享
技术分享

注:其中的几个常用元素作用如下:

environments元素:用于配置多个数据环境,可映射多个数据库信息

在MyBatis中有两种事务管理器类型(即type="JDBC/MANAGED")

JDBC:直接使用了JDBC控制事务

MANAGED:MyBatis自己不负责控制事务,它会让容器来管理事务的整个生命周期

数据源类型有三种:UNPOOLED、POOLED、JNDI

①UNPOOLED:这个数据源的实现是每次被请求时简单打开和关闭连接。

②POOLED:采用连接池以避免创建新的连接实例时必要的初始连接和认证时间

③JNDI:为了使用如Spring或应用服务器这类的容器

mappers元素:包含所有mapper的列表。告诉MyBatis到哪里去找SQL语句。主要是定义Sql映射文件

④:创建小配置 Dept.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">

<mapper namespace="cn.happy.entity.Dept">

<!-- 查询 -->
<select id="selectDept" resultType="Dept">
select * from Dept
</select>
技术分享
技术分享

注:id:唯一标识:通过此id,程序可唯一锁定一条SQL 、parameterType:参数类型、resultType:结果类型

 ⑤测试类:进行查询所有部门

技术分享
技术分享
public class Test1 {
    SqlSession session ;
    @Before
    public void initData() throws Exception{
        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
        
        Reader reader=new FileReader("src/mybatis-config.xml");
        
        SqlSessionFactory factory=builder.build(reader);
        
        session = factory.openSession();
    }
    /*
     * 查询
     */
    @Test
    public void selectDeptTest() throws Exception{
        
        
        List<Dept> selectList = session.selectList("selectDept");
        
        for (Dept dept : selectList) {
            System.out.println(dept.getDeptName());
        }
    }
    
技术分享
技术分享

技术分享


 

二、同理 增、删、改

如图所示:

技术分享

 因为在大配置中有别名的使用。参数类型设置成Dept即可

技术分享


三、使用selectOne()方法【带条件查询】

通过编号来查询部门信息

技术分享


 

四、session.getMapper()方法的实现

获取到接口的具体实现类

注:使用接口编程需要注意:namespace需要定义为接口的全限定名。映射语句的id配置需要与接口中的方法名相同

技术分享

以上是关于MyBatis入门案例 增删改查的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis入门案例增删改查

MyBatis框架入门小案例(关于用mybatis框架对数据库的增删改查)

MyBatis案例&增删改查

Java Web009 -- MyBatis(入门 & 增删改查 & 动态SQL)

Mybatis入门增删改查

MyBatis入门配置及增删改查