1、MyBatis入门
来源:互联网 发布:淘宝客推广计划怎么写 编辑:程序博客网 时间:2024/05/22 18:28
在学习JDBC时,写着无聊的SQL语句,真真是讨厌死了,真心想不写。于是我们遇见了Hibernate框架,把我们从写SQL语句中解救了出来,而现在我们开始的MyBatis又需要我们写SQL了,只是写在xml文件中了。让我们开始MyBatis的学习!
稍微看一下MyBatis文件中的作用:
第一步:创建java工程,导入核心包和依赖包
不要忘了数据库驱动。
还有log4j的属性文件:
### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file mylog.log ###log4j.appender.file=org.apache.log4j.FileAppenderlog4j.appender.file.File=c:/mylog.loglog4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###log4j.rootLogger=info, stdout
第二步:创建核心配置文件
SqlMapConfig.xml为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> <environments default="development"> <environment id="development"> <!-- 使用JDBC事务管理 --> <transactionManager type="JDBC" /> <!-- 配置数据库连接池 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql:///mybatisDB" /> <property name="username" value="root" /> <property name="password" value="zu3.141592653" /> </dataSource> </environment> </environments></configuration>
第三步:创建实体类
package cn.xpu.hcp.bean;import java.sql.Date;public class User { private int id; private String username; private String sex; private Date birthday; private String address; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public User() { super(); } public User(int id, String username, String sex, Date birthday, String address) { super(); this.id = id; this.username = username; this.sex = sex; this.birthday = birthday; this.address = address; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address + "]"; }}
第四步:创建表
CREATE TABLE `user`( `id` INT(11) NOT NULL AUTO_INCREMENT, `username` VARCHAR(32) NOT NULL COMMENT '用户名称', `birthday` DATE DEFAULT NULL COMMENT '生日', `sex` CHAR(1) DEFAULT NULL COMMENT '性别', `address` VARCHAR(256) DEFAULT NULL COMMENT '地址', PRIMARY KEY (`id`))ENGINE=INNODB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
第五步:创建sql映射文件
实现根据ID查找User:
<?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="UserTest"><!-- id:statement的id,我们可以选择使用哪个id的sqlparameterType:输入参数的类型resultType:输出结果的类型,我们要使用全路径#{}:占位符,相当于? --> <select id="GetUserByID" parameterType="int" resultType="cn.xpu.hcp.bean.User"> select * from user where id = #{id} </select></mapper>
第六步:将User.xml加载到核心配置文件中
<mappers> <mapper resource="cn/xpu/hcp/bean/User.xml"/></mappers>
第七步:生成测试类
public class MyBatisTest { /* * MyBatis测试程序步骤: * 1、创建SqlSessionFactoryBuilder对象 * 2、加载SqlMapConfig.xml配置文件 * 3、创建SqlSessionFactory对象 * 4、创建SqlSession对象 * 5、使用SqlSession对象执行查询 * 6、释放资源 * */ private SqlSessionFactory sqlSessionFactory = null; @Before public void before(){ SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); try { InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream); } catch (IOException e) { e.printStackTrace(); } } @Test public void getUserById(){ SqlSession session = sqlSessionFactory.openSession(); User user = session.selectOne("GetUserByID", 1); System.out.println(user); session.close(); }}
测试结果:
阅读全文
3 0
- MyBatis入门1--初识Mybatis
- MyBatis-----1、MyBatis快速入门
- MyBatis(1):MyBatis入门
- MyBatis(1):MyBatis入门
- MyBatis(1):MyBatis入门
- MyBatis(1):MyBatis入门
- MyBatis(1):MyBatis入门
- MyBatis(1)--MyBatis入门示例
- mybatis框架(1)---mybatis入门
- Mybatis入门(1)
- 1、Mybatis入门
- mybatis (1) --快速入门
- MyBatis(1)入门
- MyBatis.1入门篇
- 1 MyBatis入门
- mybatis入门案例1
- mybatis入门 ---1
- mybatis入门程序(1)
- poj2752
- 蓝桥杯算法训练 字符串变换 java
- OkHttp二次封装类
- HDU
- WebService生成客户端代码
- 1、MyBatis入门
- No bean named systemService is defined(Springmvc)报错一种解决思路
- 浅谈task_struct结构
- Java程序异常 open cussors查询 ORA-01000: maximum open cursors exceeded ORA-06512: at "××××××", line ×× 通
- 10 Spring框架 AOP (三) Spring对AspectJ的整合
- jQuery取id有.的值的方法
- javaweb如何返回一个无键JSON数组给前端,以JSF为例
- android ndk开发SIGSEGV错误
- Linux系统中的运行级别