mybatis简单java项目的创建

本文介绍了如何使用mybatis创建一个简单的Java项目。首先,准备工具和jar包,然后在数据库中创建User表并填充数据。接着,在Eclipse中创建Java项目,设置项目目录结构,导入必要的库。在src目录下创建对应包,并编写User.java实体类、SqlMapConfig.xml配置文件、User.xml映射文件,以及mybatisfirst.java测试类。最后,展示了log4j.properties日志配置。
摘要由CSDN通过智能技术生成
mybatis简单java项目的创建
一、前期准备:
1、工具:jdk,eclipse,mysql数据库,Navicat等
2、jar包:mybatis核心jar包等
二、项目目录:
1、在数据库中创建一个User表,添加测试数据

2、在eclipse中创建java项目,建立lib包,导入必要的数据库,build path
3、在src资源包下建立两个包:com.why.mybatis.first com.why.mybatis.pojo
4、在根目录下建立config资源包,在该包建立映射包sqlmapper和日志文件,映射文件SqlMapConfig.xml。
5、在com.why.mybatis.first 建立测试文件mybatisfirst.java;在com.why.mybatis.pojo建立实体类文件User.java;在sqlmapper包下建立映射文件User.xml

三、源码:
1、User.java
package com.why.mybatis.pojo;

import java.sql.Date;

public class User {
private int id;
private String username;
private Date birthday;
private String sex;
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 Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "id=" + id + ", username=" + username + ", birthday=" + birthday + ", sex=" + sex + ", address="
+ address;
}
}
2、SqlMapConfig.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>
<!-- 和spring整合后environments配置将废除 -->
<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://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 注册userMapper.xml文件,
userMapper.xml位于com.iflytek.mapper这个包下,所以resource写成
sqlmapper/user.xml -->
<mapper resource="sqlmapper/user.xml"/>
</mappers>
</configuration>
3、User.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">

<!-- namespace命名空间,作用就是对sql进行分类管理,理解sql隔离
注意:使用mapper代理方法的代理,namespace有特殊的作用
-->
<mapper namespace="test">
<!-- 在映射文件中配置很多的sql语句 -->
<!-- 需求:通过id查询用户的记录 -->
<!-- 通过select执行数据库查询
id:标示映射文件的sql
将sql语句封装到mappedStatement对象中,所以讲id称为statement的id-->
<!-- 在select标签中编写查询的sql语句,设置select标签的id属性为findUserById,id属性值必须是唯一的,不能够重复
使用parameterType属性指明查询是使用的参数类型,resultType属性指明查询返回的结果集类型
User类就是user表对应的实体类 -->
<!-- 根据id查询得到一个user对象 -->
<!--
<inert id="findUserById" parameterType="com.why.mybatis.pojo.User" useGeneratedKeys="true" keyProperty="id">
insert into User(id,username) values(#{id},#{username});
</insert>
-->
<select id="findUserById" parameterType="int" resultType = "com.why.mybatis.pojo.User">
select * from user where id = #{value}
</select>
</mapper>
4、mybatisfirst.java
package com.why.mybatis.first;

import java.io.IOException;
import java.io.InputStream;

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 com.why.mybatis.pojo.User;

public class mybatisfirst {
public static void main(String[] args) throws IOException {
//mybatis配置文件
String resource = "sqlMapConfig.xml";
//得到配置文件流
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建会话工厂,传入mybatis的配置文件
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//通过工厂得到SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//通过SqlSession操作数据库
//第一个参数:映射文件中statement的id,等于namespace+"."+statementd的id
//第二个参数:指定和映射文件中所匹配的parameterType类型的参数
User user = sqlSession.selectOne("test.findUserById", 1);
System.out.println(user);
//释放资源
sqlSession.close();
}
}

5、log4j.properties
# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值