• MyBatis3系列__01HelloWorld


    # MyBatis作为一个ORM框架,其重要程度不用过多介绍。
    下面开始一起学习吧:
    本博客的编程方法与MyBatis官方文档基本一致:
    ## 1.创建一个数据库mybatis_learn以及对应的表tbl_employee:
    `CREATE DATABASE mybatis_learn;`
    ```
    CREATE TABLE `tbl_employee` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `last_name` varchar(255) DEFAULT NULL,
    `gender` char(1) DEFAULT NULL,
    `email` varchar(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
    ```
    ## 2.创建一个JavaBean(使用了lombok):
    ```
    package com.mybatis.learn.bean;
    import lombok.*;
    @Getter
    @Setter
    @NoArgsConstructor
    @AllArgsConstructor
    @ToString
    public class Employee {
    private Integer id;
    private String lastName;
    private String gender;
    private String email;
    }
    ```
    ## 3.正式开始玩Mybatis:
    ### 3.1 引入依赖或者jar包
    ```
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>x.x.x</version>
    </dependency>
    ```
    ### 3.2创建SqlSessionFactory(不/使用xml方式)
    使用xml方式:
    ```
    String resource = "mybatis-config.xml";
    InputStream inputStream = null;
    try {
    inputStream = Resources.getResourceAsStream(resource);
    } catch (IOException e) {
    e.printStackTrace();
    }
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    ```
    使用这种方式时,需要你写一个配置文件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>
    <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC" />
    <dataSource type="POOLED">
    <property name="driver" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://192.168.1.61:3306/mybatis_learn" />
    <property name="username" value="root" />
    <property name="password" value="123456" />
    </dataSource>
    </environment>
    </environments>
    <!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 -->
    <mappers>
    <mapper resource="EmployeeMapper.xml" />
    </mappers>
    </configuration>
    ```

    当然, 你也可以告别繁琐的xml文件配置:
    ```
    DataSource dataSource = BlogDataSourceFactory.getBlogDataSource();
    TransactionFactory transactionFactory = new JdbcTransactionFactory();
    Environment environment = new Environment("development", transactionFactory, dataSource);
    Configuration configuration = new Configuration(environment);
    configuration.addMapper(BlogMapper.class);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
    ```

    ###3.3从 SqlSessionFactory 中获取 SqlSession
    ```
    SqlSession session = sqlSessionFactory.openSession();
    try {
    Employee employee = (Employee) session.selectOne("org.mybatis.example.BlogMapper.selectEmployee", 1);
    System.out.println(employee);
    } finally {
    session.close();
    }
    ```
    同时别忘了写具体的sql映射文件:
    ```
    <?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="org.mybatis.example.BlogMapper">
    <select id="selectEmployee" resultType="com.mybatis.learn.bean.Employee">
    select * from tbl_employee where id = #{id}
    </select>
    </mapper>
    ```
    这样子就可以正常查询了(lastName 需要在配置文件中使用别名)

  • 相关阅读:
    Chrome80调整SameSite策略对IdentityServer4的影响以及处理方案(翻译)
    IdentityServer4源码解析_4_令牌发放接口
    IdentityServer4源码解析_3_认证接口
    IdentityServer4源码解析_2_元数据接口
    IdentityServer4源码解析_1_项目结构
    AspNetCore3.1_Secutiry源码解析_8_Authorization_授权框架
    AspNetCore3.1_Secutiry源码解析_7_Authentication_其他
    AspNetCore3.1_Secutiry源码解析_6_Authentication_OpenIdConnect
    AspNetCore3.1_Secutiry源码解析_5_Authentication_OAuth
    AspNetCore3.1_Secutiry源码解析_4_Authentication_JwtBear
  • 原文地址:https://www.cnblogs.com/JackHou/p/10567327.html
Copyright © 2020-2023  润新知