• MyBatis常用实现方式


    MyBatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。
    不使用框架

    public static void main(String[] args) {
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    try {
    //加载数据库驱动
    Class.forName("com.mysql.jdbc.Driver");
    //通过驱动管理类获取数据库链接
    connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root", "root");
    //定义sql语句 ?表示占位符
    String sql = "select * from user where username = ?";
    //获取预处理statement
    preparedStatement = connection.prepareStatement(sql);
    //设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值
    preparedStatement.setString(1, "尼古拉斯赵六");
    //向数据库发出sql执行查询,查询出结果集
    resultSet = preparedStatement.executeQuery();
    //遍历结果集并释放资源
    

    编写xml文件方式
    1.导入依赖坐标

    2.编写实体类和接口

    public class User implements Serializable{
        private String Username;
        private Integer age;
    }
    
    public interface UserService{
        List<User> findAll();
    }
    

    3.编写持久层接口的映射配置文件UserService.xml

    <mapper namespace="xx.xx.UserService">
        <!--方法名,实体类全类名,接口全类名-->
        <select id="findAll" resultType="xx.xx.User">
            select * from user
        </select>
    </mapper>
    

    4,编写核心配置文件SqlMapConfig.xml

    <!-- mybatis的主配置文件 -->
    <configuration>
        <!-- 配置环境 -->
        <environments default="mysql">
            <!-- 配置mysql的环境-->
            <environment id="mysql">
                <!-- 配置事务的类型-->
                <transactionManager type="JDBC"></transactionManager>
                <!-- 配置数据源(连接池) -->
                <dataSource type="POOLED">
                    <!-- 配置连接数据库的4个基本信息 -->
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/martin"/>
                    <property name="username" value="root"/>
                    <property name="password" value="martin"/>
                </dataSource>
            </environment>
        </environments>
    
        <!-- 指定映射配置文件的位置,映射配置文件指的是每个接口独立的配置文件 -->
        <mappers>
            <mapper resource="xx.xx.UserService.xml"/>
        </mappers>
    </configuration>
    

    5.测试

    public class MybatisTest {
        public static void main(String[] args)throws Exception {
            //1.读取配置文件
            InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2.创建SqlSessionFactory工厂
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(in);
            //3.使用工厂生产SqlSession对象
            SqlSession session = factory.openSession();
            //4.使用SqlSession创建接口的代理对象
            IUserDao userDao = session.getMapper(UserService.class);
            //5.使用代理对象执行方法
            List<User> users = UserService.findAll();
            for(User user : users){
                System.out.println(user);
            }
            //6.释放资源
            session.close();
            in.close();
        }
    }
    

    使用注解方式
    1.导入依赖坐标

    2.编写实体类和接口,并在接口上使用注解

    public interface UserService { 
        @Select("select * from user")
        List<User> findAll();
    }
    

    3.在SqlMapConfig.xml中配置注解

    <configuration>
    .......
      <!-- 指定映射配置文件的位置,使用class属性指定被注解的接口的全限定类名-->
        <mappers>
            <mapper class="xx.xx.UserService"/>
        </mappers>
    </configuration>
    
    为了目标奋斗
  • 相关阅读:
    (数据看成字符串)大端——高尾端,小端——低尾端链接
    ASP.NET 页生命周期概述
    asp.net web 开发登录相关操作的控件LoginName、LoginStatus和LoginView控件使用详解
    Server.MapPath()目录详解
    C# ASP.NET FILEUPLOAD详解
    HTML中id、name、class 区别
    注册表新建 -------DWORD(32-位)
    XSD标准架构-----<xsd:element> 元素详解
    html5学习链接
    关于HSL和HSV颜色空间的详细论述
  • 原文地址:https://www.cnblogs.com/Rosemajor/p/13291562.html
Copyright © 2020-2023  润新知