mybatis简单入门

mybatis简单入门

1.mybatis:

MyBatis官网:http://www.mybatis.org/mybatis-3/zh,

框架包下载地址:https://github.com/mybatis/mybatis-3/releases

MyBatis是Apache软件基金会下的一个开源项目,前身是iBatis框架。

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射

2.MyBatis的ORM方式

Object Relational Mapping 对象关系映射

mybatis两种映射方式:

1.通过配置文件

2.通过注解

一、mybatis简单crud操作

实现步骤:

1.准备数据
2.创建maven项目
  • 项目完整结构如下:
    在这里插入图片描述
3.在pom文件中导入依赖
<dependencies>
    <!--导入mybatis依赖-->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.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>
    
	 <!--日志包-->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
</dependencies>
4.实体类
  • 定义User类(根据创建的数据库表字段名及类型来定义)
  • src\main\java\com\sjava\pojo\User.java
public class User {
    private Integer id;
    private String username;
    private Date birthday;
    private String sex;
    private String address;
    
    省略 构造 get set 等方法........
    }
5.DAO层(数据访问层)
  • 就是定义一个UserMapper接口
  • src\main\java\com\sjava\dao\UserMapper.javar
public interface UserMapper {
    /**
     * 定义查询所有人员信息的方法
     * 返回值是从数据库中查询的信息封装成了User对象  存储到List集合中
     */
    List<User> selectAll();
    /**
     * 根据id查询信息
     * @param id
     *  返回值是一个User对象
     */
    User selectById(Integer id);
    /**
     *  修改信息
     * @param user
     * 返回值影响行数 int
     */
    int update(User user);

    /**
     * 根据ID删除用户
     * @param id
     * 返回值影响行数 int
     */
    int delete(Integer id);

    /**
     * 添加新用户
     * @param user
     * 返回值影响行数 int
     */
    int insert(User user);
}
6.接口映射文件
  • 就是定义UserMapper.xml 接口映射文件 与哪个接口映射
  • src\main\resources\userMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!--上方是文档声明-->
        <!--
            代表引入的约束。 引入的是dtd约束
         -->
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

   <!--
   		映射文件
          mapper 映射
              UserMapper.xml 跟 UserMapper.java产生映射
           
      属性:namespace  当前xml与哪个接口产生映射
     -->
<mapper namespace="com.sjava.Dao.userMapper">


    <!-- select 标签代表进行的查询的动作
           id属性:
              代表你映射的是哪个方法
           resultType
             查询的结果封装的类型
        执行的sql语句写在 标签体中
    -->
    
    <!--查询所有-->
    <select id="selectAll" resultType="com.sjava.pojo.User">
         select * from t_user;
    </select>
    
    <!--根据id查询-->
    <select id="selectById" resultType="com.sjava.pojo.User" parameterType="java.lang.Integer">
        select * from t_user where id=#{id}
    </select>
    
    <!--修改用户信息-->
    <update id="update"  parameterType="com.sjava.pojo.User">
        update t_user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
    </update>
    
    <!--根据id删除-->
    <delete id="delete" parameterType="java.lang.Integer">
        delete from t_user where id=#{id}
    </delete>
    
    <!--添加用户-->
    <insert id="insert" parameterType="com.sjava.pojo.User">
       insert into t_user values(null,#{username},#{birthday},#{sex},#{address})
    </insert>

</mapper>
6.核心配置文件
  • src\main\resources\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>
    <!--这是用于配置日志 -->
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>

    <!--当前使用的环境-->
    <environments default="development">
        <!--开发环境的配置-->
        <environment id="development">
            <!--事务管理选择  使用JDBC的事务管理控制connection连接对象控制 -->
            <transactionManager type="JDBC"/>

            <!--选择使用连接池 mybatis内置连接池-->
            <dataSource type="POOLED">
                <!--连接池四大配置信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/study_mybatis_01_01?useUnicode=true&amp;characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <!--完成映射文件加载-->
    <mappers>
        <!--Mapper里面 resource对应的是 相应的xml文件-->
        <mapper resource="userMapper.xml"/>
    </mappers>
</configuration>
7.测试
  • 在测试模块中编写测试类test/java/com.sjava.test/MybatisTest
  • 这里简单测试一下查询所有功能
/**
 * 测试mybatis
 */
 public class MybatisTest {
    //1. 读取核心配置文件
    InputStream inputStream = 
    		Resources.getResourceAsStream("mybatis-config.xml");
   /*
     2.  
    	通过 SqlSessionFactoryBuilder  工厂构建者
        构建一个 sqlSessionFactory会话工厂
     */
   SqlSessionFactory sqlSessionFactory = 
   			new SqlSessionFactoryBuilder().build(inputStream);
    /*
      3:
        通过会话工厂得到SqlSession会话对象
     */
    SqlSession sqlSession = factory.openSession();
    /*
      4:
        采用 动态代理形式 完成 UserMapper实现类的创建   
         得到该接口代理对象
        */
    UserMapper userMapper = 
    					sqlSession.getMapper(UserMapper.class);
    //5.调用方法  完成查询操作
    List<User> users = userMapper.selectAll();
    for (User user : users) {
        System.out.println(user);
    }
    //6. 释放资源,关闭会话
    session.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清淡的粥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值