maven搭建mybatis--入门程序--001

2 篇文章 0 订阅
1 篇文章 0 订阅

1.mybatis环境搭建:

   下载mybatis的jar包,和相关的jar包。我是通过maven下载的,项目结构如图:


然后把相关的mybatis的jar包下载到Maven的Dependencies中。如下图所示:

mybatis的jar结构.png

2.创建log4j文件,把他放到main/resources下面:

 
关于log4j文件里面的内容,如下所示:
   
   
##开发时候设置为debug,生产时候设置为info
log4j.rootLogger=debug,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
然后在resources目录下添加sqlMapconfig.xml(全局配置文件)文件和对应的mapper的配置文件。

3.根据用户id查询用户信息:

3.1配置sqlmapconfig的配置文件的内容:
   该文件中在没有与spring整合之前,主要配置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>
 
<!-- 生命与表对应的基类,否则在User.xml中报错,提示无法找到User这个类 -->
<typeAliases>
<typeAlias alias="User" type="zone.pigruno.model.User"/>
</typeAliases>
<!-- 配置数据源 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="pigruno" />
</dataSource>
</environment>
</environments>
<!-- 以下是加载映射文件 -->
<mappers>
<mapper resource="sqlmap/User.xml" />
</mappers>
</configuration>
3.2根据用户id查询用户信息
3.2.1映射文件的配置
在映射文件中配置sql语句。映射文件的命名规则就是XxxMapper.xml.如果是user相关的就命名为UserMapper.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="User">
<select id="findUserById" parameterType="int" resultType="User">
select * from user where id=#{id}
</select>
<select id="findUserByName" parameterType="String" resultType="User">
select * from user where userName like #{userName}
</select>
<insert id="insertUser" parameterType="user" useGeneratedKeys="true" keyProperty="id">
insert into user (userName,password,sex,phone,email,address,birthday) value (#{userName},#{password},#{sex},#{phone},#{email},#{address},#{birthday})
</insert>
</mapper>
namespace为命名空间,目的是对sql进行分类化管理,也是一种 sql隔离。例如namespace="User",代表着user相关的sql都放在了一起。
id为sql的id,也是statement的Id。parameterType代表输入类型,resultType代表输出类型。#{id}代表输入的参数名为id。如果输入参数是简单类型,那么{}中的参数名字可以任意。
   
   
package zone.pigruno.model;
 
import java.util.Date;
 
/**
* @author liuwl:
* @version 创建时间:2016年5月15日 下午6:57:35
*
*/
public class User {
 
private int userId;
private String userName;
private String mobilePhone;
private String address;
private String email;
private Short userType;
private char sex;
private Date birthday;
 
public String getUserName() {
return userName;
}
 
public String getMobilePhone() {
return mobilePhone;
}
 
public String getAddress() {
return address;
}
 
public String getEmail() {
return email;
}
 
public Short getUserType() {
return userType;
}
 
public char getSex() {
return sex;
}
 
public void setUserName(String userName) {
this.userName = userName;
}
 
public void setMobilePhone(String mobilePhone) {
this.mobilePhone = mobilePhone;
}
 
public void setAddress(String address) {
this.address = address;
}
 
public void setEmail(String email) {
this.email = email;
}
 
public void setUserType(Short userType) {
this.userType = userType;
}
 
public void setSex(char sex) {
this.sex = sex;
}
 
public int getUserId() {
return userId;
}
 
public void setUserId(int userId) {
this.userId = userId;
}
 
public Date getBirthday() {
return birthday;
}
 
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
3.2.2在sqlMapConfig中加载UserMapper.xml文件:
   
   
<mappers>
<mapper resource="sqlmap/UserMapper.xml" />
</mappers>

3.3测试程序:
   
   
package zone.pigruno.model;
 
import static org.junit.Assert.*;
 
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 org.junit.Test;
 
/**
* @author liuwl:
* @version 创建时间:2016年5月15日 下午7:23:22
*
*/
public class UserTest {
 
@Test
public void findUserByUserId() throws IOException {
// mybatis的配置文件
String resource = "SqlMapConfig.xml";
 
InputStream inputStream = Resources.getResourceAsStream(resource);
// 创建会话工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 创建sqlsession
SqlSession sqlSession = sqlSessionFactory.openSession();
// 通过sqlSession操作数据库
User user = sqlSession.selectOne("User.findUserById", 1);
System.out.println(user.getUserName());
//释放资源
sqlSession.close();
}
}


阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在使用mavenmybatis-generator-maven-plugin插件自动生成实体映射文件时,我们首先需要在maven的pom.xml文件中配置插件。 在<build>标签下,添加如下代码: ``` <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <dependencies> <!-- 添加数据库驱动依赖 --> </dependencies> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> ``` 接下来,在项目的根目录下执行以下命令生成实体映射文件: ``` mvn mybatis-generator:generate ``` 执行完毕后,插件会根据配置信息,在项目的src/main/java目录下生成对应的实体类、mapper接口和xml映射文件。 在配置插件时,可以设置数据库连接信息、需要生成的表名、生成的实体类和映射文件的位置等。具体的配置信息可以参考官方文档。 生成的实体类对应数据库中的表结构,各个字段通过对应的get和set方法来访问。生成的mapper接口定义了对应的数据库操作方法,通过调用这些方法可以对数据库进行增删改查操作。生成的xml映射文件定义了实体类和数据库表之间的映射关系,通过该文件可以实现对象和表的相互转换。 通过使用mavenmybatis-generator-maven-plugin插件,我们可以简化开发人员编写实体映射文件的工作,提高开发效率和代码质量。同时,插件的配置灵活多样,可以根据项目的实际需求进行定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

又丑又萌的八戒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值