MyBatis入门基础(学习笔记)

一、MyBatis介绍

MyBatis 是apache的一个开源项目iBatis,是一个基于Java的持久层框架。MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架

Hibernate 全自动框架 SQL语句可以自动生成,不用人工书写SQL!

MyBatis 半自动 SQL语句还是需要自己书写,后期有一些插件可以自动生成SQL!

常见的ORM框架:

1.MyBatis

2.Hibernate

3.Spring Data

二、搭建MyBatis环境

导入核心包

<!--导入MyBatis开发环境的依赖-->

<dependencies>

    <!-- myBatis -->

    <dependency>

        <groupId>org.mybatis</groupId>

        <artifactId>mybatis</artifactId>

        <version>3.4.5</version>

    </dependency>

    <!-- mysql驱动包 -->

    <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <version>5.1.38</version>

    </dependency>

    <!-- Junit测试 -->

    <dependency>

        <groupId>junit</groupId>

        <artifactId>junit</artifactId>

        <version>4.12</version>

    </dependency>

    <!--Log4J日志工具  打印运行日志用的!-->

    <dependency>

        <groupId>log4j</groupId>

        <artifactId>log4j</artifactId>

        <version>1.2.14</version>

    </dependency>

</dependencies>

<!--如果是WEB项目,那么不用创建bulid标签-->

<build>

    <!--编译的时候同时也把包下面的xml同时编译进去-->

    <resources>

        <resource>

            <directory>src/main/java</directory>

            <includes>

                <include>**/*.xml</include>

            </includes>

        </resource>

    </resources>

</build>

准备数据库及数据

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `user`

-- ----------------------------

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(32) NOT NULL COMMENT '用户名称',

  `birthday` date DEFAULT NULL COMMENT '生日',

  `sex` char(1) DEFAULT NULL COMMENT '性别',

  `address` varchar(256) DEFAULT NULL COMMENT '地址',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of user

-- ----------------------------

INSERT INTO `user` VALUES ('1', '王五', '2018-09-06', '1', '四川成都');

INSERT INTO `user` VALUES ('10', '张三', '2014-07-10', '1', '北京市');

INSERT INTO `user` VALUES ('16', '张小明', '2018-09-06', '1', '河南郑州');

INSERT INTO `user` VALUES ('22', '陈小明', '2018-09-05', '1', '河南郑州');

INSERT INTO `user` VALUES ('24', '张三丰', '2018-09-13', '1', '河南郑州');

INSERT INTO `user` VALUES ('25', '陈小明', '2018-09-12', '1', '河南郑州');

INSERT INTO `user` VALUES ('26', '王五', '2018-09-05', '0', '河南郑州');

创建主配置文件: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>

       <!-- 引入外部配置文件 -->

       <properties resource="jdbc.properties"/>

       <!-- 环境 -->

       <environments default="development">

              <environment id="development">

                     <transactionManager type="JDBC" />

                     <dataSource type="POOLED">

                            <property name="driver" value="${jdbc.driver}" />

                            <property name="url" value="${jdbc.url}" />

                            <property name="username" value="${jdbc.username}" />

                            <property name="password" value="${jdbc.password}" />

                     </dataSource>

              </environment>

       </environments>

   

    <!--映射Mapper文件-->

     <!--引入映射文件-->

    <mappers>

        <mapper resource="com/bruceliu/mapper/UserMappper.xml"></mapper>

    </mappers>

</configuration>

jdbc.properties:

创建实体类

public class User {

       private Integer id;

       private String username;

       private Date birthday;

       private String sex;

       private String address;

       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;

       }

       @Override

       public String toString() {

              return "User [id=" + id + ", username=" + username + ", birthday=" + birthday + ", sex=" + sex + ", address=" + address + "]";

       }

}

创建接口层 UserMapper

创建接口实现层 UserMapper实现层实现层

/**

 * @ClassName: UserMapperImpl

 * @author: zs

 * @Description:TODO

 */

public class UserMapperImpl implements UserMapper {

       public List<User> getList() {

              InputStream inputStream = null;

              SqlSessionFactory sqlSessionFactory = null;

              SqlSession session = null;

              try {

                     String resource = "mybatis-config.xml"; // 配置文件

                     inputStream = Resources.getResourceAsStream(resource);

                     sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

                     session = sqlSessionFactory.openSession();  //获取session

                     List<User> list = session.selectList("com.bruceliu.dao.UserMapper.getList");

                     return list;

              } catch (IOException e) {

                     e.printStackTrace();

              } finally {

                     try {

                            session.close();

                            inputStream.close();

                     } catch (IOException e) {

                            e.printStackTrace();

                     }

              }

              return null;

       }

}

创建接口Mapper文件

测试类

public class TestMyBatis {

       UserMapperImpl um = new UserMapperImpl();

       @Test

       public void test1() {

              List<User> list = um.getList();

              for (User u : list) {

                     System.out.println(u);

              }

       }

}

三、创建结构和效果展示

1.1文件及包的结构

1.2 效果展示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值