Mybatis(一)创建项目
来源:互联网 发布:苹果吉他软件效果器 编辑:程序博客网 时间:2024/06/05 20:40
1. 在数据库里建立需要的表
DROPTABLE IF EXISTS `emp`;
CREATETABLE `emp` (
`empno` int(4) NOT NULL,
`ename` varchar(10) DEFAULT NULL,
`job` varchar(9) DEFAULT NULL,
`mgr` int(4) DEFAULT NULL,
`sal` double(7,2) DEFAULT NULL,
`comm` varchar(7) DEFAULT '',
`deptno` int(2) unsigned zerofill DEFAULTNULL,
PRIMARY KEY (`empno`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
------------------------------
--Records of emp
------------------------------
INSERTINTO `emp` VALUES ('102', 'errchu', 'developer', '1455', '5500.00', '14.00','10');
INSERTINTO `emp` VALUES ('104', 'huyong', 'pm', '1455', '5500.00', '14.00', '10');
INSERTINTO `emp` VALUES ('105', 'wangjing', 'developer', '1455', '5500.00', '14.00','10');
INSERTINTO `emp` VALUES ('7369', 'smith', 'clerk', '7902', '800.00', null, '20');
INSERTINTO `emp` VALUES ('7566', 'jones', 'manager', '7839', '2975.00', null, '20');
INSERTINTO `emp` VALUES ('7782', 'clark', 'manager', '7839', '2450.00', null, '10');
INSERTINTO `emp` VALUES ('7788', 'scott', 'analyst', '7566', '4000.00', null, '20');
INSERTINTO `emp` VALUES ('7839', 'king', 'president', null, '5000.00', null, '10');
INSERTINTO `emp` VALUES ('7876', 'adams', 'clerk', '7788', '1100.00', null, '20');
INSERTINTO `emp` VALUES ('7902', 'ford', 'analyst', '7566', '3000.00', null, '20');
INSERTINTO `emp` VALUES ('7934', 'miller', 'clerk', '7782', '1300.00', null, '10');
INSERTINTO `emp` VALUES ('18012', 'tom', 'pm', '105', '2100.00', '18', '20');
INSERTINTO `emp` VALUES ('18013', 'crystal', 'pm', '102', '2100.00', '18', '20');
INSERT INTO `emp` VALUES ('18016', '阿诗丹顿', 'Mon','102', '2100.00', '14', '20');
2. 新建MAVEN项目
3. 建包
4. 配置文件
1) 数据库配置文件
mysql.driver =com.mysql.jdbc.Driver
mysql.url = jdbc:mysql://127.0.0.1:3306/scott?useUnicode=true&characterEncoding=utf-8
mysql.userName =root
mysql.password =123456
2) log4j配置文件
log4j.rootLogger=DEBUG, Console#Consolelog4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%nlog4j.logger.java.sql.ResultSet=INFOlog4j.logger.org.apache=INFOlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG
3) mybatis配置文件
<?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> <!--引入外部数据库属性文件 --> <properties resource="db.properties"/> <!--全局属性设置 涉及到数据库的执行效率,比较重要--> <settings> <setting name="cacheEnabled" value="true" /> <!--对查询结果进行缓存--> <setting name="lazyLoadingEnabled" value="true" /> <!--延迟加载,提高效率--> <setting name="multipleResultSetsEnabled" value="true" /> <!--单条语句返回多个结果集--> <setting name="useColumnLabel" value="true" /> <!--支持别名查询--> <setting name="useGeneratedKeys" value="false" /> <!--允许jdbc自动生成主键--> <setting name="defaultExecutorType" value="SIMPLE" /> <!--配置设定执行器,包括simple--> <setting name="defaultStatementTimeout" value="25000"/> <!--设置时限--> </settings> <!-- 类别名配置(两种方式,一种是直接为某个类设置别名,一种是为某个包下所有类设置别名) --> <typeAliases> <!--<!–为具体类设计别名,别名由alias属性指定 –> <typeAlias type="com.neusoft.train.demo.mybatis.entity.Emp" alias="_User"/>--> <!--整个包设置别名,默认别名为去掉包后的类名 --> <package name="com.mybatis.myself.entity "/> </typeAliases> <!-- 数据转换处理器(mybatis数据类型与java数据类型转换,可自定义)--> <!--<typeHandlers> <typeHandler handler="" /> </typeHandlers> --> <!--<!– 插件配置--> <!--<plugins>--> <!--<plugin interceptor=" ">--> <!--<property name="" value=""/>--> <!--</plugin>--> <!--</plugins>–>--> <!--环境配置 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库连接信息 --> <dataSource type="POOLED"> <!-- value属性值引用db.properties配置文件中配置的值 --> <property name="driver" value="${mysql.driver}" /> <property name="url" value="${mysql.url}" /> <property name="username" value="${mysql.userName}" /> <property name="password" value="${mysql.password}" /> </dataSource> </environment></environments> <!-- 引入映射文件--> <mappers> </mappers></configuration>
4) pom.xml文件
<?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>mybatis</groupId> <artifactId>mybatisex01</artifactId> <version>1.0-SNAPSHOT</version> </project>
在里面添加其他的依赖包
<dependencies> <!-- mybatis依赖包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!-- mysql依赖包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency></dependencies>
添加依赖包以后记得reimport,具体步骤:选中项目—>右键MAVEN—>reimport
5. 添加实体类,接口,工具类以及xml配置文件
1) 工具类
public class MybatisUtil { private static SqlSessionFactory sqlSessionFactory; //初始化SqlSessionFactory static { String log4jPath="F:\\IdeaProjects\\mybatisex01\\src\\main\\resources\\log4j.properties"; PropertyConfigurator.configure(log4jPath); //mybatis配置文件路径 String configPath = "mybatis-config.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(configPath); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { System.out.println("mybatis配置文件读取失败:" + e.getStackTrace()); } } /** * 获取SqlSessionFactory * * @return */ public static SqlSessionFactory getSqlSessionFactory() { return sqlSessionFactory; }}
2) emp员工实体类
public class Emp { private int empno;//员工编号 private String ename;//姓名 private String job;//工作 private int mgr;//上级 private double sal;//工资
private String comm; //奖金 private int deptno;//部门编号 }
并添加所有属性的get,set方法,并重写tostring方法
3) 添加员工接口
public interface EmpMapper { List<Emp> findEmpAll(); }
这里在接口添加了findEmpAll方法,接下来需要在resource文件的mapper里的xml文件里实现该名字的方法
4) Xml文件
<?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="com.mybatis.myself.mappers.EmpMapper"> </mapper>
接下来要在里面写具体的sql语句
<select id="findEmpAll" resultType="emp"> SELECT * FROM emp</select>
注意:这里面的id要和同名字接口方法一置
6. 在mybatis配置文件的mapper里添加刚刚写的xml文件
<!-- 引入映射文件--><mappers> <mapper resource="mappers/EmpMapper.xml"/></mappers>
7. 测试
在test里添加测试类
public class EmpTest { }
在里面添加测试代码
public void testAll(){ SqlSessionFactory sqlSessionFactory = MybatisUtil.getSqlSessionFactory(); SqlSession sqlSession = sqlSessionFactory.openSession(); EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class); List<Emp> emps = empMapper.findEmpAll(); for (Emp emp:emps){ System.out.println(emp.toString()); }}
最后在该方法上面添加@Test
@Test
8. 运行结果
结果上面为log4j打印的内容,可以看到执行的sql语句,参数以及结果数量
- Mybatis(一)创建项目
- Spring+SpringMVC+MyBatis 整合(一)(Maven项目创建)
- spring + mybatis 创建项目
- 创建SpringMVC+Mybatis项目
- MyBatis创建项目(1)
- 一、Mybatis项目搭建
- 【Mybatis学习】Eclipse创建Maven-Mybatis项目
- MyBatis学习(一)- 搭建MyBatis项目
- MyBatis学习(一)- 搭建MyBatis项目
- 一、创建项目
- Mybatis+Spring整合创建Web项目
- spring+spring mvc +mybatis项目创建
- 创建springmvc+mybatis的web项目
- Mybatis框架开发-Maven创建web项目
- idea创建maven+springmvc+mybatis+jetty项目
- Mybatis+Spring整合创建Web项目
- Mybatis+Spring整合创建Web项目
- 使用IDEA创建maven Mybatis-SpringMvc项目
- 自定义控件之绘图篇(一):概述及基本几何图形绘制 一目了然 ,适合初学者
- mysql Cluster 问题排查工具
- linux 系统错误一览
- java 复习之路
- PAT乙级 1018. 锤子剪刀布
- Mybatis(一)创建项目
- 怎么在powerdesign中,通过表或者字段的名称或者命名code,搜索某个表或者字段
- 根据key值,list排序
- CString:Getbuffer和Releasebuffer的作用
- js刷新页面方法大全,转载很不错的一篇
- jQuery加载事件
- 梳理java内存的一点基础分析。
- 有序链表的归并
- RecyclerView系列之(2):为RecyclerView添加分隔线