个MyBatis程序

1年前 (2024-04-28)

在创建 MyBatis 项目之前,首先创建 website 数据表,SQL 语句如下。

DROP TABLE IF EXISTS `website`;

CREATE TABLE `website` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(20) COLLATE utf8_unicode_ci NOT NULL,

`url` varchar(30) COLLATE utf8_unicode_ci DEFAULT '',

`age` tinyint(3) unsigned NOT NULL,

`country` char(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',

`createtime` timestamp NULL DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

创建 MyBatis 程序的步骤为:下载jar包 -> 部署jar包 -> 编写MyBatis核心配置文件 -> 创建实体类 -> 创建DAO接口 -> 创建SQL映射文件 -> 编写测试类

下面介绍如何使用 Eclipse IDE 创建一个简单的 MyBatis 程序。

1. 创建Web应用,部署jar包

在 Eclipse 中创建 Web 项目 mybatisDemo,并将下载的 MyBatis 的核心 jar 包、依赖 jar 包以及 MySQL 数据库的驱动 jar 包到 /WEB-INF/lib 目录中。下载jar包详细步骤在《MyBatis下载》一节讲解。

2. 创建日志文件

MyBatis 默认使用 log4j 输出日志信息,如果开发者需要查看控制台输出的 SQL 语句,可以在 classpath 路径下配置其日志文件。在 mybatisDemo 的 src 目录下创建 log4j.properties 文件,其内容如下:

# Global logging configuration
log4j.rootLogger=ERROR,stdout
# MyBatis logging configuration...
log4j.logger网站站点" rel="nofollow" />

package net.biancheng.po;

import java.util.Date;

public class Website {

private int id;

private String name;

private String url;

private int age;

private String country;

private Date createtime;

/*省略setter和getter方法*/

@Override

public String toString() {

return "id" + id + "name" + name + "url" + url + "age" + age + "country" + country + "createtime" + createtime;

}

}

4. 创建映射文件

在 src 目录下创建 net.biancheng.mapper 包,在该包下创建映射文件 WebsiteMapper.xml。

WebsiteMapper.xml 文件内容如下。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper

PUBLIC "-//mybatis网站站点" rel="nofollow" />

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration PUBLIC "-//mybatis网站站点" rel="nofollow" />

package net.biancheng.test;

import java.io.IOException;

import java.io.InputStream;

import java.util.List;

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 net.biancheng.po.Website;

public class Test {

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

// 读取配置文件mybatis-config.xml

InputStream config = Resources.getResourceAsStream("mybatis-config.xml");

// 根据配置文件构建SqlSessionFactory

SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);

// 通过SqlSessionFactory创建SqlSession

SqlSession ss = ssf.openSession();

// SqlSession执行文件中定义的SQL,并返回映射结果

// 添加网站

Website website = new Website();

website.setName("编程帮");

website.setUrl("https://www.biancheng网站站点" rel="nofollow" /> DEBUG [main] - ==>  Preparing: insert into website (name,url,age,country) values(?,?,?,?)
DEBUG [main] - ==> Parameters: 编程帮(String), https://www.biancheng网站站点" rel="nofollow" />