学习mybatis的第一个案例
数据库准备
mysql8.0,用navicat打开
查询建表
CREATE TABLE `jinhui`.`user`(
`id` int(11) NOT NULL auto_increment,
`username` VARCHAR(32) NOT NULL COMMENT '用户名称',
`birthday` datetime default NULL COMMENT '生日',
`sex` char(1) DEFAULT NULL COMMENT '性别',
`address` VARCHAR(256) DEFAULT NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET=utf8;
查询添加字段
INSERT INTO `user`(`id`,`username`,`birthday`,`sex`,
`address`)VALUES(41,'老王','2018-02-27 17:47:08','男'
,'北京'),(42,'老李','2018-02-26 15:44:38','男','广东');
新建项目
在IDEA左上角的file—>new—>project
公司名可以自己随便写一个
之后选择好项目路径就建立了项目
导入依赖
其他配置
文件配置
在res文件下添加两个文件:
log4j.properties文件(建议在桌面新建后然后复制到res下):
log4j.rootLogger=debug,stdout,logfile
### 把日志信息输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
### 把日志信息输出到文件:jbit.log ###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
###显示SQL语句部分
log4j.logger.com.mybatis=DEBUG
log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
SqlMapConfig.xml文件:
提示:对于连接数据库的基本信息中,localhost 3306/ 这里,接的是数据库的表名,我这里的表名是jinhui
<?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>
<!--配置环境-->
<environments default="mysql">
<!--配置mysql的环境-->
<environment id="mysql">
<!--配置事务的类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源(连接池)-->
<dataSource type="POOLED">
<!--配置连接数据库的4个基本信息-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/jinhui?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="com.jinhui.dao.IUserDao"></mapper>
</mappers>
</configuration>
建立三级结构包
分别在main下的java下建立一个三级结构包:
右键java包,new一个Package,取名com
然后右键com,new一个package,取名公司名,比如我取的是jinhui
然后右键jinhui包,new一个package,取名dao
再右键jinhui包,new一个package,取名Entity
主体文件
java下的Entity包
java包下的dao包:
package com.jinhui.dao;
import com.jinhui.Entity.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author baro
* date 2020-03-08
* 用户的持久层
* */
public interface IUserDao {
/**
* 查询所有操作
* */
@Select("select * from user")
List<User> findAll();
}