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

  • 相关阅读:
    python3.6.3中html页面转化成pdf
    python3 基于zabbix 自动抓取监控图片
    AWS EC2 云服务器 Red Hat Enterprise Linux Server release 7.4 (Maipo) vnc远程连接教程
    python处理两个json根据序号进行一对一组合
    CentOS6.9 内核升级(2.6.32-696.16.1升级到4.4.101-1.el6.el)
    给List分页
    Quartz的学习记录
    Uri
    Android studio 随笔
    android 随笔之 GridLayout
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/11295741.html
Copyright © 2011-2022 走看看