java Mybatis

mybatis的入门

  1.mybatis的环境搭建
        第一步:创建maven工程并导入坐标           

  <dependencies>                pom.xml中
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>
    </dependencies>

        第二步:在domain 中 创建实体类User 属性对应数据中的列  (ORM思想)         在Dao 中 创建 dao 的接口
        第三步:在resource中   创建Mybatis的主配置文件    SqlMapConifg.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="mysql">
        配置mysql的环境
        <environment id="mysql">   id default 必须一样 名可以随意
            配置事务的类型
            <transactionManager type="JDBC"></transactionManager>

           配置数据源(连接池) 
            <dataSource type="POOLED">
                <!-- 配置连接数据库的4个基本信息 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test"/>
                <property name="username" value="root"/>
                <property name="password" value="123"/>
            </dataSource>
        </environment>
    </environments>

    指定映射配置文件的位置,相当于每一个 UserDaoImpl 实现类
    <mappers>
        <mapper resource="com/wyc/Dao/UserDao.xml"/>  资源文件中层级结构 与UserDao结构一样
    </mappers>
</configuration>

 第四步:在resourse中 创建映射配置文件    UserDao.xml    相当于 UserDaoImpl  层级结构与UserDao一样 但是在resourse中

<?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.wyc.Dao.UserDao">
 
    配置查询所有                  路径必须为类的全路径 封装为什么对象
    <select id="findAll" resultType="com.wyc.domain.User">   id必须 和方法的名一样  
        select * from user
    </select>
</mapper>

2.环境搭建的注意事项:
        第一个:创建UserDao.xml 和 UserDao.java时名称是为了和我们之前的知识保持一致。
            在Mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper   所以:UserDao 和 UserMapper是一样的
        第三个:mybatis的映射配置文件位置必须和dao接口的包结构相同
        第四个:映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
        第五个:映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名

      当我们遵从了第三,四,五点之后,我们在开发中就无须再写dao的实现类。

使用注解配置

   1.在USerDao 接口中 添加注解

public interface UserDao { 
    @Select("select * from user")       sql语句   通过注解获取sql语句
    public List<User> findAll();      根据这的User 获取封装为什么类型
}

   2.不要 resource 中的 映射配置了   但是需要修改主配置文件的映射关系

如果是用注解配置的话 resource 中的 映射关系配置就不需要了 但是需要class指定一个Dao接口-->
    <mappers>
        <mapper class="com.wyc.Dao.UserDao"/>
    </mappers>

测试类

 public static void main(String[] args)throws Exception {
       
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");  1.读取配置文件
        
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); 2.创建SqlSessionFactory工厂
        SqlSessionFactory factory = builder.build(in);
        
        SqlSession session = factory.openSession(); 3.使用工厂生产SqlSession对象
        
        UserDao userDao = session.getMapper(UserDao.class);  4.使用SqlSession创建Dao接口的代理对象

        List<User> users = userDao.findAll();   5.使用代理对象执行方法
        for(User user : users){
            System.out.println(user);
        }
        6.释放资源
        session.close();
        in.close();
    }}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值