• 05mybatis配置方式简单入门


    mybatis 配置方式入门实例
    1、建立maven项目 pom.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.fz</groupId>
    <artifactId>my02</artifactId>
    <packaging>jar</packaging>
    <version>1.0</version>

    <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.4</version>
    </dependency>
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.41</version>
    </dependency>
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.16</version>
    </dependency>
    </dependencies>
    <build>
    <finalName>${project.artifactId}</finalName>
    <testSourceDirectory>src/test/java</testSourceDirectory>
    <sourceDirectory>src/main/java</sourceDirectory>
    <!-- 处理无法加载资源配置文件 -->
    <resources>
    <resource>
    <directory>src/main/java</directory>
    <includes>
    <include>**/*.xml</include>
    </includes>
    </resource>
    <resource>
    <directory>src/main/resources</directory>
    <includes>
    <include>**/*.xml</include>
    <include>**/*.properties</include>
    </includes>
    </resource>
    </resources>
    </build>
    </project>

    2、src/main/resources/db.properties 建立db.properties文件
    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/db?useSSL=true&useUnicode=true&characterEncoding=UTF8
    jdbc.username=root
    jdbc.password=root


    什么是DAO?
    DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口

    dao类
    dao层

    模型类
    Book.java

    数据库有 Book 表

    接口
    BookDAO.java 接口
    insert
    delete
    deleteById
    query
    queryAll
    update
    selectOne
    show
    page
    编写dao接口的实现类
    BookDAOimpl.java 实现类

    BookDAO bookdao = new BookDAOImpl();

    Book book = new Book();
    bookdao.insert(book);
    com.fz.entity.Book
    com.fz.dao.BookDAO
    com.fz.dao.BookDAOImpl

    Student stu = new Student();
    stu.setName("jack");
    stu.setAge(18);

    StudentDAO sdao = new StudentDAOImpl();

    sdao.save(stu);

    List<Student> stus = sdao.query();

    3、src/main/resources/mybatis-config.xml 建立mybatis配置文件 mybatis-config.xml
    <?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>
    <properties resource="db.properties"/>
    <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC"/>
    <dataSource type="POOLED">
    <property name="driver" value="${jdbc.driver}"/>
    <property name="url" value="${jdbc.url}"/>
    <property name="username" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    </dataSource>
    </environment>
    </environments>
    <mappers>
    <!-- 引入DAO接口文件 -->
    <mapper class="com.fz.mapper.StudentMapper"/>
    <!-- 引入映射配置文件XxxMapper.xml -->
    <mapper resource="com/fz/mapper/BookMapper.xml"/>
    </mappers>
    </configuration>
    4、编写实体类
    com.fz.entity.Student.java
    package com.fz.entity;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;

    /**
    * Created by webrx on 2017-06-13.
    */
    @Data @AllArgsConstructor @NoArgsConstructor
    public class Student {
    private int id;
    private String name;
    private String address;
    }


    com.fz.entity.Book.java
    package com.fz.entity;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;

    /**
    * Created by webrx on 2017-06-13.
    */
    @Data @AllArgsConstructor @NoArgsConstructor
    public class Book {
    private int id;
    private String name;
    private double price;
    }

    5、编写接口
    com.fz.mapper.StudentMapper.java

    package com.fz.mapper;
    import com.fz.entity.Student;
    import org.apache.ibatis.annotations.Insert;
    import org.apache.ibatis.annotations.Select;

    import java.util.List;

    /**
    * Created by webrx on 2017-06-13.
    */
    public interface StudentMapper {
    @Select("select * from student")
    public List<Student> query();

    @Insert("insert into student values(null,#{name},#{address})")
    public int save(Student student);
    }

    6、编写实体映射文件
    com.fz.mapper.BookMapper.xml

    <?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="com.fz.mapper.BookMapper">
    <select id="queryAll" resultType="com.fz.entity.Book">
    select * from book
    </select>
    </mapper>
    7、测试 src/test/java
    package com;

    import com.fz.entity.Book;
    import com.fz.entity.Student;
    import com.fz.mapper.StudentMapper;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.junit.Test;


    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;

    /**
    * Created by webrx on 2017-06-13.
    */
    public class Demo {


    @Test
    public void show(){
    InputStream inputStream = null;
    try {
    inputStream = Resources.getResourceAsStream("mybatis-config.xml");
    } catch (IOException e) {
    e.printStackTrace();
    }
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    SqlSession session = sqlSessionFactory.openSession();
    System.out.println(session);

    StudentMapper sdao = session.getMapper(StudentMapper.class);

    List<Book> list = session.selectList("com.fz.mapper.BookMapper.queryAll");
    System.out.println(list.size());
    for(Book book : list){
    System.out.println(book.getName());
    }

    //添加数据
    //Student st = new Student();
    //st.setName("赵六");
    //st.setAddress("天津");
    //int r = sdao.save(st);
    //System.out.println(r);

    //提交会话事务
    session.commit();

    //数据查询
    //List<Student> list = sdao.query();
    //System.out.println(list.size());
    //for(Student stu : list){
    // System.out.println(stu.getName());
    //}
    }
    }

    怕什么真理无穷,进一步有一步的欢喜
  • 相关阅读:
    Word 2007 测试
    全硬盘安装Win Vista 6000 RTM方法(转)
    Javascript 解析,格式化日期 (转)
    转:使用hgfs实现vmare文件传输一法,无需任何网络相关设置
    配置和运行版本验证测试(转自msdn)
    TFS错误一则(資料集 'IterationParam' 的查詢執行失敗)
    ghostdoc 1.9.5 for vista install
    January 2007 Community Technology Preview 1 安装
    Changing to a friendly Team Foundation Server Name (舶来品)
    命令行使用小结
  • 原文地址:https://www.cnblogs.com/Mkady/p/7001703.html
Copyright © 2020-2023  润新知