• Mybatis读取数据实战


    1.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>
        <!--别名-->
        <!-- 使用别名代替全限定名 -->
      <typeAliases>
             <typeAlias type="model.User" alias="user"/>
      </typeAliases>
      <!-- 数据库环境 -->
      <environments default="development">
      <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
         <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <!--在xml中 &=&-->
         <property name="url" value="jdbc:mysql://localhost:3306/office?useSSL=false&serverTimezone=Hongkong"/>
         <property name="username" value="root"/>
         <property name="password" value="123456"/>
      </dataSource>
      </environment>
      </environments>
      <!-- 映射文件 -->
      <mappers>
      <!-- 映射文件存放的位置 -->
      <mapper resource="mapper/UserMapper.xml"/>
      </mappers>
      </configuration>
    

    2.得到SqlSessionFactory

    import java.io.IOException;
    import java.io.InputStream;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    public class SqlSessionFactorytest {
    	//定义参数
    	public static SqlSessionFactory sqlSessionFactory=null;
    	//定义配置文件
    	public static String resource="mybatis-config.xml";
    	public static InputStream inputStream;
    //构建SesseionFactory
    	public static SqlSessionFactory getSqlSessionFactoryBuider() {
    		try {
    			//读取配置文件
    			inputStream=Resources.getResourceAsStream(resource);
    			System.out.println("配置文件加载成功!!");
    			//SqlSessionFactoryBuilder通过输入流的相关配置得到sqlSessionFactory	
    		}catch(IOException e) {
    			e.printStackTrace();
    		}
    		sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
    		System.out.println("sqlSessionFactory创造成功!!");
    		return sqlSessionFactory;
    	
    	}
    }
    

    3.数据层开发标准

    public interface UserDao {
        public List<User> getAllUser();//得到所有的用户
    }
    

    4.用XML实现映射器

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        <mapper namespace="dao.UserDao">
          <select id="getAllUser" resultType="User">
              select * from user
          </select>
        </mapper>
    

    5.得到SqlSession

    import java.util.List;
    
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    
    import dao.UserDao;
    import model.User;
    import utils.SqlSessionFactorytest;
    
    
    public class test {
    public static void main(String[] args) {
    	SqlSessionFactory sqlSessionFactory=SqlSessionFactorytest.getSqlSessionFactoryBuider();
    	SqlSession sqlSession=sqlSessionFactory.openSession();
    	System.out.println("SqlSession创造成功!!");
    //用SqlSession得到Mapper接口 UserDao userDao=sqlSession.getMapper(UserDao.class); List<User> user=userDao.getAllUser(); if(user!=null) { System.out.println("数据读取成功!!"); } for(int x=0;x<user.size();x++) { User u=user.get(x); System.out.println(u.getId()); System.out.println(u.getUsername()); System.out.println(u.getPassword()); } } }
  • 相关阅读:
    PDOStatement::closeCursor
    PDOStatement::bindValue
    oracle drop table recyclebin恢复
    mysql基准测试工具tpcc-mysql安装、使用、结果解读
    MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题 收藏 MySQL中涉及的几个字符集
    [MySQL FAQ]系列 — EXPLAIN结果中哪些信息要引起关注
    [MySQL优化案例]系列 — 优化InnoDB表BLOB列的存储效率
    数据库专业词语
    老叶观点:MySQL开发规范之我见
    [MySQL FAQ]系列 — 为什么InnoDB表要建议用自增列做主键
  • 原文地址:https://www.cnblogs.com/cainame/p/10315939.html
Copyright © 2020-2023  润新知