MyBatis快速入门
文章目录
- MyBatis快速入门
- MyBatis
- MyBatis开发步骤
- 添加MyBatis的坐标
- 创建user数据表
- 编写user实体类
- 编写映射文件UserMapper.xml
- 编写核心文件SqlMapConfig.xml
- 编写测试类
 
 
MyBatis
Mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关汪sq|语句本身,而不需要花费精力去处理加载驱动、创建连接,创建statement等繁杂的过程。
持久层
 负责将数据保存到数据库的那一层代码
 框架
 框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型
 在框架的基础之上构建软件编写更加高、规范、通用、可扩展
Mybatis通过xml|或注解的方式将要执行的各种statement配置起来,并通ava对象和statement中sql|的动态参数进行映射生成最终执行的sql语句。
最后Mybatis框架执行sql并将结果映射为java对象并返回采用ORM思想解决了实体数据库映射问题,对jdbc进行了封装,屏蔽了jdbc api底层访问细节,使我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。
MyBatis开发步骤
添加MyBatis的坐标
    //mysql
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.29</version>
    </dependency>
   //mybatis  
   <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.2</version>
    </dependency>
创建user数据表

编写user实体类
public class User {
    private int id;
    private String username;
    private String password;
    public User() {
    }
    public User(int id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }
    /**
     * 获取
     * @return id
     */
    public int getId() {
        return id;
    }
    /**
     * 设置
     * @param id
     */
    public void setId(int id) {
        this.id = id;
    }
    /**
     * 获取
     * @return username
     */
    public String getUsername() {
        return username;
    }
    /**
     * 设置
     * @param username
     */
    public void setUsername(String username) {
        this.username = username;
    }
    /**
     * 获取
     * @return password
     */
    public String getPassword() {
        return password;
    }
    /**
     * 设置
     * @param password
     */
    public void setPassword(String password) {
        this.password = password;
    }
    public String toString() {
        return "User{id = " + id + ", username = " + username + ", password = " + password + "}";
    }
}
编写映射文件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">
<mapper namespace="userMapper">
    <select id="findAll" resultType="com.stu.domain.User">
        select * from user
    </select>
</mapper>
编写核心文件SqlMapConfig.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"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://192.168.95.130:3306/test"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!--加载映射文件-->
    <mappers>
        <mapper resource="com/stu/mapper/UserMapper.xml"></mapper>
    </mappers>
</configuration>
编写测试类
public class MybatisTest {
    @Test
    public void test1() throws IOException {
        //获得核心配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
        //获得session工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //获得session会话对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //执行操作 参数:namespace+id
        List<User> userList = sqlSession.selectList("userMapper.findAll");
        //打印数据
        System.out.println(userList);
        //释放资源
        sqlSession.close();
    }
}








![[ 数据结构 ] 背包问题(动态规划)](https://img-blog.csdnimg.cn/img_convert/535b7a89319ab66170ef73a8a0894aef.png)











