• Mybatis 入门


    Mybatis 入门

    创建Maven工程

     
     
    这一步其实可以不用管的  直接点 next 也行的
     

    填写 module

     
     
     

    配置pom 文件

     
     
    要是写了 version 报红的话 咱们来Import Changes 一下就 OK 啦
    pom.xml 是长这个样子的  
    下面我来贴一下 pom.xml 的源码:
    <?xml version="1.0" encoding="UTF-8"?>
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        <modelVersion>4.0.0</modelVersion>
    <!---其实上面这个也不用你写啦 我是复制下来给你看看的--->
        <groupId>com.itcast</groupId>
        <artifactId>day01-mybatis</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
        
        <dependencies>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.4</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.48</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
            </dependency>
        </dependencies>
    </project>
     
    所有的都下载完毕 我们来看看左侧下载了啥
     
    yeah~ 没错 我们刚刚写的都下载下来了。

    编写 User 的实体类

     
    这是我们要写的这几个 private 要和数据库的表格的字段名对应!
     
    看一下表格长啥样:
     
     
     
     敲完 private 咱们右键 选择 Getter and Setter
     
     

     

     
     
    奇迹出现了 ,一下子出来这么多 可以省电力气了:
     public Integer getId() {
            return id;
        }
     
        public void setId(Integer id) {
            this.id = id;
        }
     
        public String getUsername() {
            return username;
        }
     
        public void setUsername(String username) {
            this.username = username;
        }
     
        public Date getBirthday() {
            return birthday;
        }
     
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
     
        public String getSex() {
            return sex;
        }
     
        public void setSex(String sex) {
            this.sex = sex;
        }
     
        public String getAddress() {
            return address;
        }
     
        public void setAddress(String address) {
            this.address = address;
        }
    咱们故技重施一次:
     
     

    编写持久层接口 UserDao

    其实这个页面你只要敲一行 List findAll();
     
     
     

    编写持久层接口的映射文件 UserDao.xml

     
     
    这个要一一对应 不能少 不能多!
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <mapper  namespace="cn.itcast.dao.UserDao">
    <!---配置查询所有-->
        <select id="findAll" resultType="cn.itcast.demo.User">
            select * from user
        </select>
    </mapper>
    <!--一定要指定返回的类型resultType-->
     
     

    编写 Config.xml 配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    <!--mybatis的主要配置文件-->
    <configuration>
        <!---配置环境-->
        <environments default="mysql">
             <!-- 配置mysql的环境  -->
            <environment id="mysql">
                <!--- 配置事务的类型-->
                <transactionManager type="JDBC"></transactionManager>
                <!--配置数据源(连接池)-->
                <dataSource type="POOLED">
                    <!--配置连接数据库的四个基本信息-->
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/>
                  //eesy_mybatis这是数据库的名字
                    <property name="username" value="这里填你的数据库用户名"/>
                    <property name="password" value="这里填你的数据库密码"/>
                </dataSource>
            </environment>
        </environments>
        <!--指定映射配置文件的位置,映射文件值得是每个dao独立的配置文件-->
        <mappers>
            <mapper resource="cn/itcast/dao/UserDao.xml"/>
        </mappers>
    </configuration>
     
     

    编写测试类 MybatisTest

     
    package cn.itcast.test;
    import cn.itcast.dao.UserDao;
    import cn.itcast.demo.User;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import java.io.InputStream;
    import java.util.List;
    //mybatis 的入门案例
    public class MybatisTest {
        //入门案例
        public static void main(String[] args) throws Exception {
            //1.读取配置文件
            InputStream in = Resources.getResourceAsStream("config.xml");
            //2.创建SqlSessionFactory工厂
            SqlSessionFactoryBuilder  builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(in);
            //3.使用工厂生产SqlSession对象
            SqlSession session = factory.openSession();
            //4.使用SqlSession创建的 Dao接口的代理对象
            UserDao userDao = session.getMapper(UserDao.class);
            //5.使用代理对象执行方法
            List<User> users = userDao.findAll();
            for (User user : users){
                System.out.println(user);
            }
            //6.释放资源
            session.close();
            in.close();
        }
    }

    启动项目

    两种方式 二选一
     

    效果图

     
    可以对比上面的数据库的表格 没错我们成功 !!!

     

  • 相关阅读:
    Oracle
    Oracle入门
    数据库测试的测试点
    overload重载与override重写的区别
    Java接口的default关键字用法解释
    pytest执行入口
    Gradle的安装与基本配置
    玩转HTML5+跨平台开发[5] HTML表单标签
    玩转HTML5+跨平台开发[4] HTML表格标签
    玩转HTML5+跨平台开发[3] HTML列表标签
  • 原文地址:https://www.cnblogs.com/mishijie/p/12773546.html
Copyright © 2020-2023  润新知