zoukankan      html  css  js  c++  java
  • java之mybatis之helloworld

    1. MyBatis 是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。

    MyBatis几乎消除了所有的 JDBC 代码,也基本不需要手工去设置参数和获取检索结果。

    MyBatis几乎能够使用所有简单的 XML 格式 或注解来进行配置,能够映射基本数据元素、Map 接口和 POJOs(普通java对象)到数据库中的记录。

    2. MyBatis是一款半自动化的orm框架。

    3. MyBatis 也叫 ibatis。

    4.下面演示一个mybatis的简单案例

    目录结构如下:

    (1). 新建 java 项目 :mybatis_helloworld

    (2). 在目录结构的lib下导入mybatis需要的jar包, 并且 build 操作

    mybatis-3.2.7.jar

    mysql-connector-java-5.1.20-bin.jar

    (3). 在 src 下编写 mybatis 的核心配置文件

    mybatis.cfg.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>
        <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/test" />
                    <property name="username" value="root" />
                    <property name="password" value="root" />
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="cn/vincent/vo/UserMapper.xml"/>
        </mappers>
    </configuration>

    (4). 编写 vo 类

    User.java

     1 package cn.vincent.vo;
     2 
     3 import java.io.Serializable;
     4 
     5 public class User implements Serializable{
     6 
     7     private int id;
     8     private String name;
     9     private int age;
    10     public int getId() {
    11         return id;
    12     }
    13     public void setId(int id) {
    14         this.id = id;
    15     }
    16     public String getName() {
    17         return name;
    18     }
    19     public void setName(String name) {
    20         this.name = name;
    21     }
    22     public int getAge() {
    23         return age;
    24     }
    25     public void setAge(int age) {
    26         this.age = age;
    27     }
    28     @Override
    29     public String toString() {
    30         return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
    31     }
    32     
    33     
    34 }
    View Code

    (5) . 编写映射文件

    UserMapper.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="cn.vincent.vo.UserMapper">
        <select id="selectUser" parameterType="int" resultType="cn.vincent.vo.User">
            select * from t_user where id = #{id}
        </select>
    </mapper>

    (6). 测试

    Demo.java(位置可参考目录结构)

    package cn.vincent.mybatis;
    
    import java.io.IOException;
    import java.io.Reader;
    
    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 cn.vincent.vo.User;
    
    
    
    public class Demo {
    
        public static void main(String[] args) throws IOException{
            Reader reader=Resources.getResourceAsReader("mybatis.cfg.xml");
            SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
            SqlSession session=sqlMapper.openSession();
            User user=session.selectOne("cn.vincent.vo.UserMapper.selectUser",1);
            System.out.println(user);
        }
    }

     github地址:https://github.com/Vincent-yuan/mybatis_helloworld

  • 相关阅读:
    POJ 2752 Seek the Name, Seek the Fame
    POJ 2406 Power Strings
    KMP 算法总结
    SGU 275 To xor or not to xor
    hihocoder 1196 高斯消元.二
    hihoCoder 1195 高斯消元.一
    UvaLive 5026 Building Roads
    HDU 2196 computer
    Notions of Flow Networks and Flows
    C/C++代码中的笔误
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/11295741.html
Copyright © 2011-2022 走看看