zoukankan      html  css  js  c++  java
  • mybatis入门

    ------------恢复内容开始------------

    ------------恢复内容开始------------

    1.创建一个项目,在项目中引入mybatis框架的jar包和mysql数据库驱动包。

    2.创建一个接口(持久层),用于查询数据库。

    代码如下:

    /**
    * 数据层
    *
    */
    public interface PersonDao {

    //查询所有Person数据
    public List<Person> findAll();

    //根据id查询Person数据
    public Person findById(Integer id);
    }

    3.创建接口对应的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">
    <!--###############################SQL语句映射配置文件##############################-->

    <!--将该包内所有接口定义为映射接口-->
    <mapper namespace="com.itheima.mybatis.PersonDao">

    <!--查询所有Person数据-->
    <select id="findAll" resultType="com.itheima.pojo.Person">
    select * from person;
    </select>

    <!--根据id查询Person数据-->
    <select id="findById" parameterType="int" resultType="com.itheima.pojo.Person">
    select * from person where id=#{id};
    </select>
    </mapper>

    -------------------------------------------------------------分隔符---------------------------------------------------------------------

    如果Mapper映射文件的约束不会写,可以打开mybatis官网,有提供的模板,复制就行了。

    4.创建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">
    <!--###########################mybatis配置文件###########################-->

    <configuration>
    <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC"/> <!--JDBC的事务-->
    <dataSource type="POOLED">
    <!--jdbc配置-->
    <property name="driver" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/test"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
    </dataSource>
    </environment>
    </environments>

    <!--配置SQL映射文件路径-->
    <mappers>
    <mapper resource="com/itheima/mybatis/PersonDao.xml"/> 
    </mappers>
    </configuration>
    -------------------------------------------------------------分隔符---------------------------------------------------------------------
    如果
    <mapper resource="com/itheima/mybatis/PersonDao.xml"/>这里的SQL映射配置文件路径容易犯错,一个小技巧就是把项目编译一下,在编译文件里查找。
    
    

     因为我这个项目是web项目,所以编译后在动态资源都在WEB-INF下的classes目录下,SQL映射文件的相对路径是com/itheima/mybatis/PersonDao.xml。

    -------------------------------------------------------------分隔符---------------------------------------------------------------------

    如果mybatis核心配置文件的约束不会写,可以打开mybatis官网,有提供的模板,复制就行了。

    5.创建类,执行SQL语句查询

    public class MybatisTest {
    public static void main(String[] args) throws IOException {

    //1.读取mybatis配置文件
    String config = "com/itheima/mybatis/mybatis-config.xml"; //定义mybatis配置文件路径
    InputStream inputStream = Resources.getResourceAsStream(config);
    //2.创建SqlSessionFactoryBuilder对象,并创建SqlSessionFactory对象,接着获取SqlSession对象
    SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
    SqlSession sqlSession = sqlSessionFactory.openSession();
    //3.执行SQL语句
    String sqlId = "com.itheima.mybatis.PersonDao.findAll";
    List<Person> list = sqlSession.selectList(sqlId);
    for (Person person : list) {
    System.out.println("person = " + person);
    }
    //4.关闭sqlSession
    sqlSession.close();
    }
    }
    -------------------------------------------------------------分隔符---------------------------------------------------------------------
    String config = "com/itheima/mybatis/mybatis-config.xml"; //定义mybatis配置文件路径
    如果mybatis核心配置文件
    容易犯错,一个小技巧就是把项目编译一下,在编译文件里查找。
    
    

    因为我这个项目是web项目,所以编译后在动态资源都在WEB-INF下的classes目录下,mybatis核心配置文件的相对路径是com/itheima/mybatis/mybatis-config.xml。

    6.运行一下,查看控制台打印信息(查询的数据库表中数据),查询数据成功。

     

  • 相关阅读:
    新的一周了
    一篇感人的文章!
    bit流中统计1的个数
    TASK_KILLABLE
    modutils及LKM分析小记[2]
    __asm__ __volatile__("": : :"memory")
    内核同步小记
    进程劫持
    加载内核模块
    missing separator
  • 原文地址:https://www.cnblogs.com/w1440199392/p/13966773.html
Copyright © 2011-2022 走看看