Mybatis_环境搭建
2024-09-06 05:59:42
1.配置pom文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.mepu</groupId> <artifactId>mybatis_build</artifactId> <version>1.0-SNAPSHOT</version> <!--指定打包方式--> <packaging>jar</packaging> <!-- 导入mybatis依赖--> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.3</version> </dependency> <!-- 导入mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <!-- 导入log4j--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <!-- 导入junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> </dependencies> </project>
2.,创建数据库对应实体类实现Serializable
package cn.mepu.domain; import java.io.Serializable; /** * @author shkstart * @create 2019-11-04 9:45 */public class User implements Serializable { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}'; }}
3.创建Dao接口
package cn.mepu.Dao; import cn.mepu.domain.User; import java.util.List; /** * @author shkstart * @create 2019-11-04 9:50 */ public interface UserDao { /** * 查询所有用户 * @return */ List<User> findAll(); }
4.添加主配置文件SqlMapConifg.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> <environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/javaee"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <!-- 定义配置映射--> <mapper resource="cn/mepu/Dao/UserDao.xml"></mapper> </mappers> </configuration>
5.配置映射文件
<?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="cn.mepu.Dao.UserDao"> <!-- id = dao接口方法名称 resultType=数据封装对象 --> <select id="findAll" resultType="cn.mepu.domain.User"> select * from user </select> </mapper>
6.测试类
package cn.mepu; import cn.mepu.Dao.UserDao; import cn.mepu.domain.User; 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 java.io.IOException; import java.io.InputStream; import java.util.List; /** * @author shkstart * @create 2019-11-04 10:02 */ public class mybatisTest { public static void main(String[] args) throws IOException { //1.读取配置文件 InputStream in = Resources.getResourceAsStream("SqlMapConifg.xml"); //2.创建SqlSessionFactory工厂 SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); //3.使用工厂生产SqlSession对象 SqlSession sqlSession = factory.openSession(); //4.使用SqlSession创建Dao接口代理对象 UserDao userDao = sqlSession.getMapper(UserDao.class); //5.使用代理对象执行方法 List<User> users = userDao.findAll(); for (User user : users) { System.out.println(user); } //6.释放资源 sqlSession.close(); in.close(); } }
最新文章
- Android开发—已root的手机获取data路径
- Linux sort命令
- JSF 监听
- Node.js 异步模式浅析
- 李洪强漫谈iOS开发[C语言-014]-变量
- Hibernate 使用注解后没发现建表
- 有限状态机FSM(自动售报机Verilog实现)
- linux之SQL语句简明教程---WHERE
- maven学习系列(一)—maven安装和基本设置
- javascript中的throttle和debounce
- SQL生成一年每一天的时间列表的几种方法
- vue视频学习笔记02
- 蛋疼zipline安装
- JPasswordField密码框,JList列表框
- springMVC DispatcherServlet类关系图
- vue中具名插槽的使用
- React Native 从入门到原理一
- 【转】escape,encodeURI,encodeURIComponent有什么区别?
- Django xadmin 根据登录用户过滤数据
- mongodb之oplog
热门文章
- 15-vim-缩排和重复执行
- JS window对象 返回浏览历史中的其他页面 go()方法,根据当前所处的页面,加载 history 列表中的某个具体的页面。 语法: window.history.go(number);
- 【Jquery】this和event.target的区别
- 前后端分离进行权限管理之后端API返回菜单及权限信息(三)
- 微信小程序 滚动到底部
- vue 表单输入绑定 checkbox
- 75. InputStreamReader和OutputStreamWriter(转换流--字节流转换成字符流)
- webpack引入全局jQuery
- RobotFramework 切换窗口控制的用法小结
- PHP中文无乱码截取