JavaWeb Mybatis学习

JavaWeb Mybatis学习

简介
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。

与它相类似的还有hibernate在这里我就不多说了。mybatis与hibernate的对比详见MyBatis和Hibernate相比,优势在哪里?

简单例子
1、首先我们创建一个java web项目
创建javaweb项目
2、导入相应的jar包
导入相应的jar包

mybatis需要jar包:mybatis-3.4.1.jar

mysql驱动jar包:mysql-connector-java-5.1.39.-bin.jar

日志记录jar包:log4j-1.2.17.jar
3、创建数据库数据
创建数据库表
4、添加mybatis配置文件mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?> 5、实体类对象的创建

package com.songci.mybatis.model;

public class Student {

private int id;
private String name;
private String address;
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getAddress() {
    return address;
}
public void setAddress(String address) {
    this.address = address;
}
@Override
public String toString() {
    return "Student [id=" + id + ", name=" + name + ", address=" + address
            + "]";
}

}
6、创建DAO层的接口方法

package com.songci.mybatis.dao;

import com.songci.mybatis.model.Student;

public interface StudentDao {

//保存学生信息
public void saveStudent(Student student);
//修改学生信息
public void updateStudent(Student student);

}
7、mapper映射文件

<?xml version="1.0" encoding="UTF-8" ?> INSERT INTO `studentInfo`(`name`,`address`)values (#{name},#{address}) update studentInfo set name=#{name} ,address=#{address} where id=#{id} 8、创建测试类

package com.songci.mybatis.test;

import java.io.IOException;
import java.io.InputStream;

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 com.songci.mybatis.dao.StudentDao;
import com.songci.mybatis.model.Student;

public class MybatisTest {

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

  /***
   * mybatis 使用注意事项
   * 1:  加载 mybatis 配置文件
   */
  String resource = "mybatis-config.xml";
  InputStream inputStream = Resources.getResourceAsStream(resource);
  SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

       /**
        *2: 从mybatis 数据连接池中获取 session连接
        *    并选择相应的接口类《mapper》 
        */
        SqlSession session = sqlSessionFactory.openSession();
        StudentDao sutdentDao =  (StudentDao) session.getMapper(StudentDao.class);
        Student student =new  Student();
        student.setName("张三");
        student.setAddress("西湖的小桥边");

        //student.setId(id);我们并没有设置id--------》useGeneratedKeys="true"和keyProperty(id)的作用

        sutdentDao.saveStudent(student);
        System.out.println(student);
        //3:提交事务 仅在【保存数据 删除数据 更新数据】
        session.commit();
       //4:关闭session连接 ---放回至mybatis维护连接池中
        session.close();

}
}
9、最终测试结果显示
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值