MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。mybatis是一个优秀的基于java的持久层框架,设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便。
1.首先在数据库中创建自己所需要的表并添加数据
CREATE TABLE `user` (
`id` INT(20) NOT NULL PRIMARY KEY,
`name` VARCHAR(30) DEFAULT NULL,
`pwd` VARCHAR(30) DEFAULT NULL
)ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO `user`(`id`,`name`,`pwd`) VALUE(1,'zhangsan','l23');
INSERT INTO `user`(`id`,`name`,`pwd`) VALUE(2,'lisi','l23');
INSERT INTO `user`(`id`,`name`,`pwd`) VALUE(3,'wangwu','l23');SELECT `id`,`name`,`pwd` FROM `user`;
CREATE TABLE `teacher`(
`id` INT(10) NOT NULL,
`name` VARCHAR(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO teacher(`id`,`name`) VALUE (1,'老师');
CREATE TABLE `student` (
`id` INT(10) NOT NULL,
`name` VARCHAR(30) DEFAULT NULL,
`tid` INT(10) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fktid` (`tid`),
CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO `student` (`id`,`name`,`tid`) VALUES('1','xiaohong','1');
INSERT INTO `student` (`id`,`name`,`tid`) VALUES('2','xiaoming','1');
INSERT INTO `student` (`id`,`name`,`tid`) VALUES('3','xiaozhang','1');
INSERT INTO `student` (`id`,`name`,`tid`) VALUES('4','xiaoli','1');
INSERT INTO `student` (`id`,`name`,`tid`) VALUES('5','xiaowang','1');SELECT * FROM student
CREATE TABLE `blog` (
`id` VARCHAR(50) NOT NULL COMMENT '博客id',
`title` VARCHAR(100) NOT NULL COMMENT '博客标题',
`author` VARCHAR(30) NOT NULL COMMENT '博客作者',
`create_time` DATETIME NOT NULL COMMENT '创建时间',
`views` INT(30) NOT NULL COMMENT '浏览量'
)ENGINE=INNODB DEFAULT CHARSET=utf8
2.创建一个maven项目,并在pom.xml导入所需要的架包
<!--导入依赖包 --> <dependencies> <!--mysql驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <!--mybatis包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <!--日志文件包--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!--Junit测试包 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!-- 自定义缓存包 --> <dependency> <groupId>org.mybatis.caches</groupId> <artifactId>mybatis-ehcache</artifactId> <version>1.2.1</version> </dependency> <!--lombok包(不建议使用)--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> </dependency> </dependencies> <!--在build中配置resources,来防止我们资源导出失败问题--> <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
3.创建创建核心配置文件,外部配置文件,工具类
mybatis-config.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核心配置文件--> <configuration> <!--引入外部配置文件dp.properties--> <properties resource="dp.properties"></properties> <settings> <!--标准日志实现--> <setting name="logImpl" value="STDOUT_LOGGING"/> <!--log4j日志实现--> <!-- <setting name="logImpl" value="LOG4J"/>--> <!--显示的开启全局缓存(主要为二级缓存准备)--> <setting name="cacheEnabled" value="true"/> </settings> <!-- 给实体类取别名--> <typeAliases> <package name="com.jw.pojo"/> </typeAliases> <!--environments环境配置--> <environments default="development"> <environment id="develo