javaEE,smm入门学习(mybatis入门程序)

1初识框架

MyBatis:解决数据的持久问题的框架

Spring MVC:解决web层问题的MVC框架

Sping框架:解决技术整合问题的框架

Spring Boot:简化Spring的配置(快速搭建脚手架)

Spring Cloud:利用Spring Boot简化了分布式系统的开发(对Spring Boot进行再封装)

Sping:为pojo(bean)对象提供企业级服务

Spring MVC:web开发框架,Spring MVC作为控制器实现模型与视图的数据交互

MyBatis:在实体类和sql语句间建立映射关系

2搭建Mybatis环境

步骤:

创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件

创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件

创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件

MyBatis官方网站:https://mybatis.net.cn/getting-started.html

打开pom.xml

<dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
                <version>3.5.11</version>
        </dependency>
        <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
                <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件

。。。

创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件

建立db.properties文件

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?
serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
username=root
password=123

创建工程-》引入依赖-》数据库准备-》写数据库连接信息配置文件-》写核心配置文件和映射文件

建立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>
<!--  引入外部db.properties  -->
    <properties resource="db.properties"/>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="org/mybatis/example/BlogMapper.xml"/>
    </mappers>
</configuration>

3MyBatis入门程序

3.1数据准备
create database mybatis charset=utf8;
use mybatis;
create table users(   
  uid int primary key auto_increment,  
  uname varchar(20) not null,   
  uage int not null
);
insertinto users(uid,uname,uage)values(null,'张三',20),(null,'李四',18);
3.2创建POJO实体:

在项目src/main/java目录下创建com.XXX.pojo包在该包下创建User类,此类用于封装User对象的属性

3.2.1连接数据库
3.2.2创建pojo

将创建好的pojo放到

3.2.3创建映射文件UserMapper.xml

在项目src/mian/resources目录下创建一个文件,在mapper文件夹下创建映射文件UserMapper.xml,该文件主要用于实现sql语句和Java对象之间的映射,使sql语句查询出来的关系型数据库能被封装成Java对象。

<?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.lhy.Users">
    <select id="findById" parameterType="int"
            resultType="com.lhy.Users">
        select * from users where uid = #{id}
    </select>
</mapper>

3.2.4修改mybatis-config.xml

在该文件中添加UserMapper.xml映射文件路径的配置,用与将UserMapper.xml映射文件加载到程序中。

注意:一个项目有多个映射文件,则mybatis-config.xml核心配置文件需要在<mappers>元素下配置多个<mapper>元素指定文件的路径。

3.2.5编写测试类
package com.lhy.test;
import com.lhy.Users;
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 org.junit.Test;

import java.io.IOException;
import java.io.Reader;

public class UserTest {
    @Test
    public void userFindByIdTest() {
//        配置文件
        String resources= "mybatis-config.xml";
        Reader reader = null;
        try {
//            读取mybatis-config.xml文件内容到reader对象中
            reader=Resources.getResourceAsReader(resources);
        } catch (IOException e) {
            e.printStackTrace();
        }
//            创建sqlSessionFactory工厂对象
            SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
//           创建sqlSession对象
            SqlSession session=sqlMapper.openSession();
//            执行sql语句,sql语句唯一标识:namespace.statemtId
            Users user=session.selectOne("findById", 2);
            System.out.println(user.getUname());
            System.out.println(user);
            session.close();

    }
}

可能出现的问题:

Cannot find class: com.mysql.cj.jdbc.Driver

  • 1.xml映射

  •   2.driver写错

  •   3.测试代码下错误。

  •   4.依赖(检查自己的MySQL驱动是版本多少,pom.xml中配置的版本应该和自己的MySQL一致

文章参考:https://www.bilibili.com/video/BV1VL4y1g7Wm?p=8&spm_id_from=pageDriver&vd_source=4635cb58ad1fbf28fa0a395ac712f9d1

我是实用主义者,能用就行,技术更新那么快,会用就好

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值