zoukankan      html  css  js  c++  java
  • mybaits入门学习

    学习了简单的mybatis的配置

    Bean层:

    这个都会很简单

    一个完整的Bean 需要getter和setter方法还需要一个空的构造方法和一个满的构造方法。

    Dao层:

    创建一个接口就ok了

    package dao;
    
    import bean.User;
    
    import java.util.List;
    
    public interface IUserDao {
        /**
         * 查询
         * @return
         */
        List<User> findAll();
    }
    

     关键是xml的配置文件:

    SqlMapConfig.xml的配置,配置数据库和映射dao层

    <?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">
                <!--   配置事务的类型          -->
                <transactionManager type="JDBC"></transactionManager>
                <!-- 配置数据源连接池           -->
                <dataSource type="POOLED">
                    <!--  -->
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/runmybatis?serverTimezone=UTC"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>
        </environments>
        <!-- 指定映射配置文件的位置,映射配置文件的是每个dao独立的配置文件 -->
          <mappers>
             <mapper resource="dao/IUserDao.xml" />
          </mappers>
    </configuration>
    

     Dai层对应的,返回类型的出处写好,sql语句写入

    <?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="dao.IUserDao">
        <!-- SQL语句 -->
        <!-- 配置查找-->
        <select resultType="bean.User" id="findAll">
            select * from user
        </select>
    </mapper>
    

     这样便可使用了

    Test.java:

    package test;
    
    
    
    import bean.User;
    import dao.IUserDao;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.apache.ibatis.io.Resources;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    public class Test {
        public static void main(String[] args) throws IOException {
            //读取配置文件
    
            InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
            //创建SqlSessionFactory工厂
            System.out.println(inputStream);
            SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
            SqlSessionFactory factory =builder.build(inputStream);
    
            //使用工厂生产SqlSession对象
            SqlSession session =factory.openSession();
            //使用SqlSession创建Dao接口代理对象
            IUserDao userDao =session.getMapper(IUserDao.class);
            //使用代理对象
            List<User> users =userDao.findAll();
            System.out.println(users);
            for(User user: users)
            {
                System.out.println(user.toString());
            }
            //释放资源
            session.close();
            inputStream.close();
        }
    }
    

     测试结果

    [User{id=1, userName='dada'}, User{id=2, userName='xiaoming'}]
    User{id=1, userName='dada'}
    User{id=2, userName='xiaoming'}

    图片上传不上来

    但是也有缺漏,我的log4文件没有配好

     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    conda安装使用
    数据库删除后台代码
    表格显示数据库(html和php混编)
    唯一用户名jquery和PHP代码
    //阿贾克斯提交数据库
    //向数据库添加数据(form表单提交)
    //conn数据库配置
    Css 变量
    input标签让光标不出现
    Es6Class
  • 原文地址:https://www.cnblogs.com/gonT-iL-evoL-I/p/11675230.html
Copyright © 2011-2022 走看看