MyBatis-配置文件与基本CRUD操作(无参)
目录
一、目录结构
二、核心配置文件 mybatis-config.xml
三、数据库配置文件 jdbc.properties
四、mapper映射文件
五、mapper接口
六、log4j日志(可选)
七、基本功能测试
一、目录结构
所有依赖,用maven导入:
jar org.mybatis mybatis 3.5.7 junit junit 4.12 test mysql mysql-connector-java 5.1.3 log4j log4j 1.2.17
基本目录结构示例如下:

二、核心配置文件 mybatis-config.xml
核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息,存放的位置是src/main/resources目录下。
三、数据库配置文件 jdbc.properties
配置连接的基本信息,存放的位置是src/main/resources目录下。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8
jdbc.username=root
jdbc.password=310333
四、mapper映射文件
ORM(Object Relationship Mapping)对象关系映射。
对象:Java的实体类对象
关系:关系型数据库
映射:二者之间的对应关系
存放在src/main/resources/mappers文件夹内,文件名应与实体类相同。
举例:
//增insert into t_user values(null,'张三','123',23,'f','310@qq.com') //改update t_user set username='李四' where id=1 //删delete from t_user where id=1 //查//查询一定会返回数据,必须指定返回数据的类型,// resultType-默认的返回类型// resultMap-自定义的返回类型
五、mapper接口
类似于DAO接口,存放在src/main/java/mappers目录下。名字要和映射文件一致。
举例:
package mappers;
import pojo.User;public interface UserMapper {int insertUser();void updateUser();void deleteUser();User getUserById();
}
六、log4j日志(可选)
log4j的配置文件名为log4j.xml,存放的位置是src/main/resources目录下。
七、基本功能测试
@Testpublic void testMyBatis() throws IOException {
1.//读取MyBatis的核心配置文件InputStream is = Resources.getResourceAsStream("mybatis-config.xml");2.//创建SqlSessionFactoryBuilder对象SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();3.//通过核心配置文件所对应的字节输入流创建工厂类SqlSessionFactory,生产SqlSession对象SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);4.//创建SqlSession对象,若没有指定参数 true 则通过SqlSession对象操作的sql都必须手动提交或回滚事务//创建SqlSession对象,若指定了参数 true 此时通过SqlSession对象所操作的sql都会自动提交SqlSession sqlSession = sqlSessionFactory.openSession(true);5.//通过代理模式创建UserMapper接口的代理实现类对象UserMapper userMapper = sqlSession.getMapper(UserMapper.class);6.//调用UserMapper接口中的方法,就可以根据UserMapper的全类名匹配元素文件,通过调用的方法名匹配userMapper.insertUser();userMapper.updateUser();userMapper.deleteUser();User user = userMapper.getUserById();7. sqlSession.commit();//手动提交事务}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
