资讯专栏INFORMATION COLUMN

MyBatis 框架之快速入门程序

hosition / 1840人阅读

摘要:一使用快速创建项目关于如何快速创建项目,这个可以参考下面这篇文章项目管理工具基础入门系列一二快速配置依赖包打开文件,快速配置包,配置代码如下依赖包数据库驱动依赖包测试依赖包三快速创建实体类创建类,代码如下四

一、使用 IDEA 快速创建 Maven 项目

关于如何快速创建 Maven 项目,这个可以参考下面这篇文章:

Maven 项目管理工具基础入门系列(一)

二、快速配置 MyBatis 依赖 jar 包

打开 pom.xml 文件,快速配置 jar 包,配置代码如下:


  4.0.0
  com.mybatis
  MyBatisDemo
  war
  0.0.1-SNAPSHOT
  MyBatisDemo Maven Webapp
  http://maven.apache.org
  

    
    
      org.mybatis
      mybatis
      3.4.5
    

    
    
      mysql
      mysql-connector-java
      5.1.25
    

    
    
      junit
      junit
      3.8.1
      test
    
    
  

  
    MyBatisDemo
    
      
        src/main/java
        
          **/*.xml
        
        true
      
    
  


三、快速创建实体类

创建 pojo 类 User.java,代码如下:

package com.mybatis.pojo;

public class User{

    private int id;
    private String username;
    private String password;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    @Override
    public String toString() {
        return "User [id=" + id + ", username=" + username + ", password="
                + password + ", age=" + age + "]";
    }
    
}
四、快速创建实体类对应的数据表

新建数据库 mybatis_db,创建表 t_user,建表代码如下:

CREATE TABLE `t_user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT "",
  `age` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
五、快速创建 Mapper 接口

创建接口 UserDao.java,代码如下:

package com.mybatis.dao;

import com.mybatis.pojo.User;

public interface UserDAO {
    
    //新增用户
    public int addUser(User user);
    
    //根据id删除用户
    public int deleteUser(int id);
    
    //修改用户
    public int updateUser(User user);
    
    //根据id查询用户
    public User selectUserById(int id);
    
}
六、快速创建 Mapper 接口代理文件

创建 xml 文件 UserDaoMapper.xml,代码如下:


 


     
    
       insert into t_user (username,password,age) values (#{username},#{password},#{age})
    
    
    
       delete from t_user where id=#{id}  
     
    
    
       update t_user set username=#{username},password=#{password},age=#{age} where id=#{id}
    
    
    
    
七、快速添加 MyBatis 配置文件

创建 xml 文件 mybatis-comfig.xml,具体配置如下:




    
    
        
            
            
            
            
                
                
                
                
            
        
    
    
    
    
        
    
    
八、快速创建测试类

创建测试类 Test.java,代码如下:

package com.mybatis.test;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.mybatis.dao.UserDao;
import com.mybatis.pojo.User;

public class Test {
    
    public static void main(String[] args) {

        //加载MyBatis配置文件
        InputStream is = Test.class.getClassLoader().getResourceAsStream("mybatis-config.xml");
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);

        //获取SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //获取实现接口的代理对象
        UserDao userDAO = sqlSession.getMapper(UserDao.class);
        
        //新增用户
        User user = new User();
        user.setUsername("孔乙己");
        user.setPassword("123456");
        user.setAge(21);
        System.out.println(userDAO.addUser(user));
        sqlSession.commit();
        
//        //删除用户
//        System.out.println(userDAO.deleteUser(1));
//        sqlSession.commit();
//
//        //查询用户
//        User user1 = userDAO.selectUserById(1);
//        System.out.println(user1);
//
//        //修改用户
//        User user2 = userDAO.selectUserById(1);
//        user2.setUsername("指南者");
//        System.out.println(userDAO.updateUser(user2));
//        sqlSession.commit();

    }
}
九、测试运行,结果如下图:

本程序和数据库相关的代码已经上传到 GitHub 上,GitHub 地址:点击这里直接获取项目源码

关注微信公众号 compassblog ,了解更多

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71097.html

相关文章

  • Java深入-框架技巧

    摘要:从使用到原理学习线程池关于线程池的使用,及原理分析分析角度新颖面向切面编程的基本用法基于注解的实现在软件开发中,分散于应用中多出的功能被称为横切关注点如事务安全缓存等。 Java 程序媛手把手教你设计模式中的撩妹神技 -- 上篇 遇一人白首,择一城终老,是多么美好的人生境界,她和他历经风雨慢慢变老,回首走过的点点滴滴,依然清楚的记得当初爱情萌芽的模样…… Java 进阶面试问题列表 -...

    chengtao1633 评论0 收藏0
  • 开源框架解析,手写MyBatis细节思路

    摘要:基本纲要组成动态配置配置核心源码分析源码解析源码解析源码解析源码解析手写框架是什么本质是一种半自动的框架,前身是其源于和的组合,除了和映射关系之外,还需要编写语句映射三要素映射规则快速入门加入的依赖添加的配置文件场景介绍编写实体类接口以及文 showImg(https://segmentfault.com/img/bVblrnC); Mybatis基本纲要 Mybatis组成 · 动态...

    paulli3 评论0 收藏0
  • Java3y文章目录导航

    摘要:前言由于写的文章已经是有点多了,为了自己和大家的检索方便,于是我就做了这么一个博客导航。 前言 由于写的文章已经是有点多了,为了自己和大家的检索方便,于是我就做了这么一个博客导航。 由于更新比较频繁,因此隔一段时间才会更新目录导航哦~想要获取最新原创的技术文章欢迎关注我的公众号:Java3y Java3y文章目录导航 Java基础 泛型就这么简单 注解就这么简单 Druid数据库连接池...

    KevinYan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<