zoukankan      html  css  js  c++  java
  • Mybatis学习---第一个查询小程序

      Mybatis的官方文档:https://mybatis.org/mybatis-3/index.html

      学习Mybatis的原因是:jdbc代码太复杂,而mybatis会简化jdbc,更容易上手。是一个框架。

      一、需要导入依赖,在pom.xml中

        1、mysql的jar包

        2、Mybatis的jar包

        3、Junit的jar包

        4、在build中配置resource,防止我们的资源导出失败问题

    <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.16</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.2</version>
            </dependency>
    
    
        </dependencies>
    
    <build>
        <!--引入配置文件-->
    
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

        二、编写Mybatis的配置文件--mybatis-config.xml,需要放在maven项目下的resources之下(其实就是相当于JDBC之中的加载驱动,和数据库创建连接),大家先注意一下这个配置文件中的Mappers

    <?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核心配置文件-->
    <configuration>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatistext?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT"/>
                    <property name="username" value="root"/>
                    <property name="password" value="ly0825"/>
                </dataSource>
            </environment>
        </environments>
    
        <!--每一个Mapper.xml都需要在Mybatis核心配置文件中注册-->
        <mappers>
            <mapper resource="com/ly/dao/UserMapper.xml"/>
        </mappers>
    
    </configuration>

      三、编写一个实体类。

      四、创建一个接口(我这个接口里只是写了一个查询方法,只是简单的测试一下Mybatis)。

    package com.ly.dao;
    
    import com.ly.pojo.User;
    
    import java.util.List;
    
    public interface UserDao {
        List<User> getUserList();
    }

      五、接下来我们就要实现这个 接口里方法的实现类了(UserMapper.xml),这里大家需要注意的是,每一个Mapper方法都需要去配置文件mybatis-config.xml中去配置切记,就是我们上述第二步需要注意的Mapper。

    <?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="com.ly.dao.UserDao">
        <!--id里面是调用接口的方法,resultType是返回的结果类型-->
        <select id="getUserList" resultType="com.ly.pojo.User">
        select * from user
      </select>
    </mapper>

       namespace是你写的接口的全路径。

      第二个id是你在接口类中所写的方法名。其实这就是那个方法的具体实现。

      resultType是进行数据库操作后所返回的结果,我所执行的操作的是查询所有的信息,所以返回的结果就是我们那个实体类对象。

      六、来写一个测试类,看一看到底写的这个mybatis到底能不能用

    package com.ly.dao;
    
    import com.ly.pojo.User;
    import com.ly.utils.MybatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.testng.annotations.Test;
    
    import java.util.List;
    
    public class UserDaoTest {
        @Test
        public void test(){
            //1、第一步,获取sqlsession对象
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            //2、getMapper
            UserMapper mapper = sqlSession.getMapper(UserDao.class);
            List<User> userList = mapper.getUserList();
            for (User user : userList) {
                System.out.println(user.getName());
            }
            //3、关闭sqlsession
            sqlSession.close();
        }
    }

      

  • 相关阅读:
    想更改Github仓库中的某个文件结构
    记git一些基本用法
    剑指Offer-Python(16-20)
    剑指Offer-Python(11-15)
    初次使用flask
    Python的Cmd模块的简易运用学习
    SQL-全称量词查询
    线段树模板1
    OJ输入输出超时(C++)
    二叉查找树(BST)定义
  • 原文地址:https://www.cnblogs.com/moxihuishou/p/13995056.html
Copyright © 2011-2022 走看看