• mybatis 使用注解开发


    这里用注解开发 不用xml文件了,直接 接口方法上用注解即可,但是要在核心文件映射Mapper【下面讲解】,,例【查询数据库全部用户】:

    package com.bihu.Service;
    
    import com.bihu.Bean.User;
    import com.bihu.Dao.UserMapper;
    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 java.io.IOException;
    import java.io.InputStream;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class UserService {
        public static void main(String[] args) throws IOException {
            InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
            SqlSession sqlSession = sqlSessionFactory.openSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            
            List<User> userList = mapper.findAll(); //查询全部用户
            
            //下面打印
            for (User item:userList) {
                System.out.println(item);
            }
    
        }
    }
    mybatis 测试文件  //里面忘记了关闭  记得关闭
    <?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>
    
    
    <!--  导入的properties  -->
        <properties resource="datasourceInfo.properties"></properties>
    
    <!--  设置  -->
        <settings>
            <setting name="logImpl" value="LOG4J"/>
        </settings>
    <!--  别名  -->
        <typeAliases>
            <typeAlias type="com.bihu.Bean.User" alias="User"></typeAlias>
            <typeAlias type="com.bihu.Bean.Order" alias="Order"></typeAlias>
            <typeAlias type="java.util.List" alias="List"></typeAlias>
        </typeAliases>
    
    
    
    <!-- 插件   -->
        <plugins>
            <plugin interceptor="com.github.pagehelper.PageHelper">
                <property name="dialect" value="mysql"/>
            </plugin>
        </plugins>
    
    
    
    
        <environments default="dev">
            <environment id="dev">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="url" value="${jdbc.url}"/>
                    <property name="username" value="${jdbc.username}"/>
                    <property name="password" value="${jdbc.password}"/>
                </dataSource>
            </environment>
        </environments>
    
    
        
        <mappers>
            <mapper resource="com/bihu/mapper/UserMapper.xml"></mapper>         <!--这里使用注解查询也是要进行mapper映射的!!!!-->
            <mapper resource="com/bihu/mapper/OrderMapper.xml"></mapper>
        </mappers>
    
    
    </configuration>
    mybatis 配置文件  //主要看映射
    package com.bihu.Dao;
    
    
    import com.bihu.Bean.User;
    import org.apache.ibatis.annotations.Select;
    
    import java.util.List;
    
    public interface UserMapper {
          @Select("select * from user")
          List<User> findAll();
    }
    UserMapper.interface  //使用注解
    
    
    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="com.bihu.Dao.UserMapper"> <!--其实注解开发是通过映射 然后在这里写<select/> 标签的 上面namespace一定要对应接口 --> </mapper>

    运行:

    但是注解开发是不可以支持结果集ResultMap的,即字段名【JavaBean 和 数据库】不一样会报错。

    其实他做的事情也很清楚了,就是注解把我们要写的标签映射了而已,,主要还是在 Sqlsession 里面做手脚 嘛.

    本质:反射

    底层:动态代理

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/15224953.html

  • 相关阅读:
    LiveGBS接入LiveQing流媒体服务实现摄像头云端录像和和直播以及大屏展示
    摄像头网络直播方案LiveGBS部署问题 使GB28181实现无插件web直播
    Linux 查看磁盘读写速度IO使用情况
    安防监控摄像头接入云端实现直播、录像和大屏展示
    H265摄像头如何实现网页直播
    解决RTMP推送时间戳问题引起HLS切片不均匀导致手机浏览器播放卡顿的问题
    H5实现无插件视频监控按需直播
    LiveQing视频云平台部署实践
    将RTSP网络摄像机进行网页和微信直播的方案
    Android虚拟机运行问题之小结
  • 原文地址:https://www.cnblogs.com/bi-hu/p/15224953.html
Copyright © 2020-2023  润新知