zoukankan      html  css  js  c++  java
  • 初始Mybatis,好累,自己感觉自己快坚持不了了

    Mybatis
    1.持久化
    持久化,就是内存数据和硬盘数据状态的转换

    2.ORM思想
    Object Relation Mapping 对象关系映射

    3.MyBatis入门案例
    3.1导入jar包
    依赖
    <!--MySQL配置-->
    <dependency>
    <groupId>MySQL</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.0.8</version>
    </dependency>
    <!--MyBatis核心jar包-->
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.2.2</version>
    </dependency>

    3.2书写大配置

    <?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="development">
    <environment id="development">
    <transactionManager type="JDBC"/>
    <dataSource type="POOLED">
    <property name="driver" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/y2165"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
    </dataSource>
    </environment>
    </environments>
    <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
    </mappers>
    </configuration>
    3.3实体类
    public class StudentInfo {
    private Integer stuId;
    private String stuName;
    private Integer stuAge;
    private Date stuDate;
    }

    3.4小配置
    <?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="cn.happy.dao.IStudentInfoDAO">
    <select id="findAll" resultType="cn.happy.entity.StudentInfo">
    select * from studentinfo
    </select>
    </mapper>

    两个注意事项:
    1.你得更新POM.xml文件中build节点
    <build>
    <resources>
    <resource>
    <directory>src/main/java</directory>
    <includes>
    <include>**/*.xml</include>
    </includes>
    </resource>
    </resources>
    </build>

    2.你得在大配置中关联小配置文件
    <mappers>
    <mapper resource="cn/happy/dao/IStudentInfoDAO.xml"/>
    </mappers>

    3.5 写测试类
    3.5.1 String path="大配置的路径名";
    InputStream is=Resources.getResourcesAsStream(path);
    SessionFactory factory=new SessionFactoryBuilder().build(is);
    SqlSession session=factory.openSession();


    结论:
    1. 注意小配置的命名空间的名称

    4.别名的使用
    <typeAliases>
    <!--<typeAlias type="cn.happy.entity.StudentInfo" alias="StudentInfo"></typeAlias>-->
    <!--将该包中的简单类型 StudentInfo作为类的别名-->
    <package name="cn.happy.entity"></package>
    </typeAliases>

    5.getMapper() 动态代理数据
    class<T> 类型的类型
    is = Resources.getResourceAsStream(path);
    SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
    SqlSession session=factory.openSession();
    IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class);
    StudentInfo info = dao.getStudentById(3);
    System.out.println(info.getStuName());

  • 相关阅读:
    P2048 [NOI2010]超级钢琴 (rmq +堆+贪心)
    题解 P4799 【[CEOI2015 Day2]世界冰球锦标赛】
    洛谷 P1360 [USACO07MAR]Gold Balanced Lineup G (前缀和+思维)
    洛谷 P4880 抓住czx
    洛谷 P2471 [SCOI2007]降雨量
    洛谷 P4688 [Ynoi2016]掉进兔子洞 (看到题目背景,galgame玩家狂喜)
    洛谷 P2101 命运石之门的选择 (分治)
    留言版
    【游记】OI 2020(在更)
    类欧几里得算法
  • 原文地址:https://www.cnblogs.com/2652405350wch/p/7142152.html
Copyright © 2011-2022 走看看