`

MyBatis3实现

阅读更多
1. MyBatis3实现

    官方网站:http://blog.mybatis.org/

1. 创建数据库和表

创建db_mybatis数据库
CREATE DATABASE db_mybatis DEFAULT CHARACTER SET utf8;

创建t_student数据表
create table t_student(
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(20) DEFAULT NULL,
age int(11) DEFAULT NULL,
PRIMARY KEY(id)
)ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

插入数据
insert into t_student(id, name, age) values(1, '张三', 10),(2, '李四', 20);


2. 导入jar包

新建项目MyBatisPro01

引入mysql
新建Folder,导入mysql所用的jar包,右键 --> Build Path --> Add To Build Path
mysql-connector-java-3.1.12-bin.jar

引入mybatis
新建Folder,导入mybatis所用的jar包,右键 --> Build Path --> Add To Build Path
mybatis-3.2.8.jar


jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_mybatis
jdbc.username=root
jdbc.password=root


<?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="jdbc.properties"/>
    <typeAliases>
        <typeAlias alias="Student" type="com.andrew.model.Student"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driverClassName}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/andrew/mappers/StudentMapper.xml" />
    </mappers>
</configuration>


package com.andrew.model;
public class Student {
    private Integer id;
    private String name;
    private Integer age;
    public Student() {
        super();
    }
    public Student(String name, Integer age) {
        super();
        this.name = name;
        this.age = age;
    }
    public Student(Integer id, String name, Integer age) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
    }
    // getter and setter ...
}


package com.andrew.mappers;
import com.andrew.model.Student;
public interface StudentMapper {
    public int add(Student student);
}


<?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.andrew.mappers.StudentMapper">
    <insert id="add" parameterType="Student">
        insert into t_student values(null, #{name}, #{age})
    </insert>
</mapper>


package com.andrew.util;
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;
public class SqlSessionFactoryUtil {
    private static SqlSessionFactory sqlSessionFactory;
    public static SqlSessionFactory getSqlSessionFactory() {
        if(sqlSessionFactory==null){
            InputStream inputStream=null;
            try {
    inputStream=Resources.getResourceAsStream("mybatis-config.xml");
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            } catch(Exception e) {
                e.printStackTrace();
            }
        }
        return sqlSessionFactory;
    }
    public static SqlSession openSession() {
        return getSqlSessionFactory().openSession();
    }
}


package com.andrew.service;
import org.apache.ibatis.session.SqlSession;
import com.andrew.mappers.StudentMapper;
import com.andrew.model.Student;
import com.andrew.util.SqlSessionFactoryUtil;
public class StudentTest {
    public static void main(String[] args) {
        SqlSession sqlSession=SqlSessionFactoryUtil.openSession();
        StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);
        Student student = new Student("王五", 21);
        int result = studentMapper.add(student);
        sqlSession.commit();
        if (result > 0) {
            System.out.println("添加成功!");
        }
    }
}

运行结果:
添加成功!


2. 引入log4j

新建Folder,导入log4j所用的jar包,右键 --> Build Path --> Add To Build Path
mybatis-3.2.8.jar


log4j.rootLogger=info,appender1,appender2
log4j.appender.appender1=org.apache.log4j.ConsoleAppender 
log4j.appender.appender2=org.apache.log4j.FileAppender 
log4j.appender.appender2.File=E:/mybatis-log4j-file.txt
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout


package com.andrew.service;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import com.andrew.mappers.StudentMapper;
import com.andrew.model.Student;
import com.andrew.util.SqlSessionFactoryUtil;
public class StudentTest {
    private static Logger logger = Logger.getLogger("StudentTest");
    public static void main(String[] args) {
        SqlSession sqlSession=SqlSessionFactoryUtil.openSession();
        StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);
        Student student=new Student("赵六4", 23);
        int result = studentMapper.add(student);
        sqlSession.commit();
        if (result > 0) {
            logger.info("添加成功!!!");
        }
    }
}
运行结果:
[main] INFO com.andrew.service.StudentTest - 添加成功!!!
分享到:
评论

相关推荐

    [MyBatis] Java 持久化 (MyBatis 3 实现) (英文版)

    [Packt Publishing] Java 持久化 (MyBatis 3 实现) (英文版) [Packt Publishing] Java Persistence with MyBatis 3 (E-Book) ☆ 出版信息:☆ [作者信息] K. Siva Prasad Reddy [出版机构] Packt Publishing ...

    MyBatis3官方中文文档

    另外,MyBatis的映射文件是MyBatis框架中非常重要的一部分,它将SQL语句和映射的Java对象关联起来,是MyBatis中实现查询、插入、更新、删除等操作的关键。映射文件通常与接口紧密配合,通过命名空间和方法名的对应...

    Struts2+maven+spring+mybatis整合实现注册功能实例

    3. 配置Struts2:设置struts.xml配置文件,定义Action类和结果页面。 4. 配置Spring:创建Spring的配置文件(如applicationContext.xml),声明bean,包括Action、Service、DAO以及数据源等。 5. 配置MyBatis:设置...

    mybatis-实现多租户.zip

    3. **使用前请看.txt**:这是一个说明文件,可能包含了实现多租户MyBatis的关键步骤、注意事项或者代码解释,确保用户正确理解和使用提供的代码示例。 4. **pom.xml**:这是Maven项目的配置文件,列出了项目的依赖...

    Mybatis简单实现一个查和删的案例,可以了解到关于Mybatis如何配置

    Mybatis 是一款流行的轻量级持久层框架,它实现了SQL映射功能,使得开发者可以直接编写原生SQL查询,同时还能享受到对象关系映射的便利。在这个"Mybatis简单实现一个查和删的案例"中,我们将探讨如何配置Mybatis以及...

    MyBatis3帮助文档(中文版)帮助文档

    MyBatis3是一款深受Java开发者喜爱的持久层框架,它简化了数据库操作,将SQL与Java代码紧密结合,...通过深入阅读和实践,开发者可以更好地利用MyBatis3实现高效、灵活的数据库操作,提升项目的开发效率和代码质量。

    spring3和mybatis3的初始探索

    标题 "spring3和mybatis3的初始探索" 涉及到的是两个非常重要的Java开发框架——Spring和MyBatis的集成与应用。Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等...

    mybatis3.x源码深度解析与最佳实践.pdf

    MyBatis 3.x 源码深度解析与最佳实践 MyBatis 是当前最流行的 Java 持久层框架之一,其通过 XML 配置的方式消除了绝大部分 JDBC 重复代码以及参数的设置,结果集的映射。为了更好地学习和理解 MyBatis 背后的设计...

    MyBatis3 API 中文文档

    MyBatis是一个开源的持久层框架,它的全称是“MyBatis 3”,它是iBatis的升级版,专注于POJO(Plain Old Java Object,普通Java对象)和数据库之间的映射关系。MyBatis消除了几乎所有的JDBC代码和手动设置参数以及...

    mybatis-3-config.dtd mybatis-3-mapper.dtd

    MyBatis是一个流行的Java持久层...正确理解和使用它们,可以有效地构建和维护MyBatis项目,实现灵活、高效的数据库操作。同时,由于MyBatis允许自定义扩展,开发者可以根据需求对DTD进行扩展,以满足特定项目的需求。

    MyBatis3 教程 中文版

    MyBatis3 是一款流行的Java持久层框架,它简化了数据库操作,使开发人员能够将SQL语句直接集成到XML映射文件或Java代码中,实现了数据访问对象(DAO)与业务逻辑的解耦。本教程旨在深入讲解MyBatis3的核心概念、配置...

    MyBatis分页功能实现

    在这个例子中,我们关注的是MyBatis如何实现分页功能,特别是在一个集成了Spring的环境中。分页在大数据量的查询中至关重要,因为它允许用户逐步加载和处理结果,提高应用程序的性能和用户体验。 首先,我们需要...

    mybatis拦截器实现通用权限字段添加的方法

    MyBatis拦截器实现通用权限字段添加的方法 MyBatis拦截器是一种非常实用的技术,可以用来实现各种复杂的数据库操作。本文将详细介绍如何使用MyBatis拦截器来实现通用权限字段添加,达到灵活、可靠、可维护的数据库...

    MyBatis3入门到精通教程

    本教程旨在带你从零开始,逐步掌握MyBatis3的核心概念和技术,实现数据库操作的高效、便捷。 1. **MyBatis简介** MyBatis是一个轻量级的Java持久层框架,它解决了传统JDBC代码繁琐的问题,将SQL语句与Java代码分离...

    MyBatis3_开发手册

    MyBatis3是一款深受Java开发者喜爱的持久层框架,它简化了数据库操作,将SQL与Java代码紧密结合,提供了强大的动态SQL支持。这份"MyBatis3_开发手册"旨在全面介绍MyBatis3的核心特性和使用方法,帮助开发者高效地...

    Mybatis基于注解实现多表查询功能

    Mybatis基于注解实现多表查询功能 Mybatis基于注解实现多表查询功能是指使用Mybatis框架中的注解来实现多表查询的功能。这种方法可以简化配置,提高开发效率。下面我们将详细介绍如何使用Mybatis基于注解实现多表...

    Mybatis3分页代码

    Mybatis3提供了多种方式来实现分页,适用于MySQL和Oracle等不同的数据库系统。 在MySQL中,分页查询通常通过LIMIT和OFFSET关键字实现。LIMIT用于指定返回结果的数量,OFFSET则用于跳过多少行。例如,如果我们想获取...

    springmvc3+spring+mybatis3整合项目 注解实现

    这个整合项目是基于Spring 3.0.5、Spring MVC 3和MyBatis 3.0.2版本,采用注解方式进行配置,简化了XML配置文件,提高了开发效率。 Spring MVC是Spring框架的一部分,主要负责Web请求的处理。在本项目中,通过注解...

Global site tag (gtag.js) - Google Analytics