编程语言
首页 > 编程语言> > 2. Mybatis的第一个程序

2. Mybatis的第一个程序

作者:互联网

文章目录

1. 在Navicat Premium搭建实验数据库

在这里插入图片描述

CREATE TABLE `user` (
`id` int(20) NOT NULL,
`name` varchar(30) DEFAULT NULL,
`pwd` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert  into `user`(`id`,`name`,`pwd`) values (1,'狂神','123456'),(2,'张三','abcdef'),(3,'李四','987654');

2. 新建maven项目,并导入pom依赖

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在pom中导入依赖:

在这里插入图片描述

mysql-connector-java 导入5点多,好像不行

<!--导入依赖-->
<dependencies>
    <!--mysqlq驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.12</version>
    </dependency>
    <!--mybatis-->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.4</version>
    </dependency>
    <!--junit-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
</dependencies>

2. 可能出现问题说明:Maven静态资源过滤问题

在父、子项目中的pom文件导入:

<resources>
   <resource>
       <directory>src/main/java</directory>
       <includes>
           <include>**/*.properties</include>
           <include>**/*.xml</include>
       </includes>
       <filtering>false</filtering>
   </resource>
   <resource>
       <directory>src/main/resources</directory>
       <includes>
           <include>**/*.properties</include>
           <include>**/*.xml</include>
       </includes>
       <filtering>false</filtering>
   </resource>
</resources>

~~~~~~~~~~~~~ 在父项目中,新建一个子项目 (不分父、子项目就不需要)~~~~~~~~~~~~~

删除src目录,方便后面建立子工程

在这里插入图片描述

新建一个module

在这里插入图片描述

直接next,填写项目名

在这里插入图片描述
在这里插入图片描述



3. 编写MyBatis核心配置文件:mybatis-config.xml

mybatis-config.xml包含了对MyBatis系统的核心设置,包含获取数据库连接实例的数据源(DataSource)决定事务范围和控制方式的事务管理器(TransactionManager)。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核心配置文件-->
<configuration>
    <environments default="development">
        <environment id="development">
        <!--            事务管理为JDBC-->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--                &amp;代表“&”-->
                <property name="url" value="jdbc:mysql://localhost:3306/2mybatis_first?userSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="xxxx'"/>
            </dataSource>
        </environment>
    </environments>
<!--    每一个Mapper.XML都需要在Mybatis核心配置文件中注册!-->
    <mappers>
        <mapper resource="com/dao/userMapper.xml"/>
    </mappers>


</configuration>



4. 编写MyBatis工具类:utils包下的MybatisUtils.java类

在这里插入图片描述

//sqlSessionFactory --> sqlSession
public class MybatisUtils {

    static SqlSessionFactory sqlSessionFactory = null;

    static {
        try {
            //使用Mybatis第一步 :获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例.
    // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
}



5. 创建实体类:User

在这里插入图片描述

public class User {
   
   private int id;  //id
   private String name;   //姓名
   private String pwd;   //密码
   
   //构造,有参,无参
   //set/get
   //toString()
   
}



6. 编写UserDao接口类

在这里插入图片描述

public interface UserDao {
    public List<User> getUserList();
}



7. 编写UserMapper.xml配置文件

在这里插入图片描述

<?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">

<!--namespace=绑定一个指定的Dao/Mapper接口-->
<mapper namespace="com.dao.UserDao">
    <select id="getUserList" resultType="com.pojo.User">
    select * from USER
  </select>
</mapper>



8. 编写测试类

public class UserDaoTest {

    @Test
    public void test(){

        //1.获取SqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        
        //2.执行SQL
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        List<User> userList = userDao.getUserList();

        for (User user : userList) {
            System.out.println(user);
        }

        //关闭sqlSession
        sqlSession.close();
    }
}

9. 运行测试,成功的查询出来的我们的数据,ok!

在这里插入图片描述

标签:xml,第一个,配置文件,程序,mybatis,子项目,Mybatis,编写,public
来源: https://blog.csdn.net/weixin_42214698/article/details/122758790