MyBatis 基础

Posted caiJava

tags:

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

1.在src下创建一个myBatis.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>
    <!-- default:指默认使用id为defaultr的 environment配置
        一个environments下可以有多个environment-->
    <environments default="default">
        <environment id="default">
            <!-- 使用原生jdbc事务 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 使用数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
                <property name="username" value="root"/>
                <property name="password" value="admin"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 读取mapper -->
    <mappers>
        <mapper resource="com/strong/mapper/FlowerMapper.xml"/>
    </mappers>
</configuration>

2.新建一个包com.strong.mapper,在包下创建FlowerMapper.xml文件(类名.mapper.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">
  <!-- namespace:命名,可以随意取 -->
<mapper namespace="com.strong.mapper">
    <!-- resultType:实体类,要写类命名  id:命名 -->
    <select resultType="com.strong.pojo.Flower" id="selectAll">
        select * from flower    
    </select>
</mapper>

3.测试MyBatis

public class Test {
    public static void main(String[] args) throws IOException {
        //读取XML文件
        InputStream is=Resources.getResourceAsStream("myBatis.xml");
        //创建SqlSessionFactory工厂
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
        //生产一个SqlSession对象
        SqlSession session=factory.openSession();
        //读取数据库
        List<Flower> list=session.selectList("com.strong.mapper.selectAll");
        for(Flower flower:list) {
            System.out.println(flower);
        }
    }
}

 三种常查询方式:

1.

返回一个List对象,适用于查询需要遍历的结果

List<Flower> list=session.selectList("com.strong.mapper.selectAll");
        for(Flower flower:list) {
            System.out.println(flower);
        }
<select resultType="com.strong.pojo.Flower" id="selectAll">
        select * from flower    
</select>

 

2.

返回一个Object对象,适用于查询一条数据

        int count=session.selectOne("com.strong.mapper.selectOne");
        System.out.println(count);
<select resultType="int" id="selectOne">
        select count(*) from flower    
</select>

 

3.

返回一个map,适用于需要对查询结果再次筛选(通讯录)

        Map<Object,Object> map=session.selectMap("com.strong.mapper.selectMap", "name");//name为map的key
        System.out.println(map);
<select resultType="com.strong.pojo.Flower" id="selectMap">
        select * from flower    
</select>

 

以上是关于MyBatis 基础的主要内容,如果未能解决你的问题,请参考以下文章

mybatis学习(39):动态sql片段

SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper

mybatis动态sql片段与分页,排序,传参的使用

MyBatis动态SQL标签用法

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段

[vscode]--HTML代码片段(基础版,reactvuejquery)