持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情
开篇语
作为一名java菜鸡,在掘金记录自己在JavaEE框架技术的零到一,也希望能够对今后的初学者有一些帮助。可能会有一些错误,欢迎提出,我随时改。
maven
Maven是专门用于管理和构建Java项目的工具,其主要功能主要有:
- 提供一套标准化的项目结构
- 提供一套标准化的构建流程
- 提供了一套依赖管理机制
maven标准化的项目结构:
因为它的好用,大家都以它的项目结构为标准。
maven标准化构建流程:
编译-测试-打包-发布
maven标准化依赖管理机制
mybatis的安装
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装。
我们利用maven的标准化依赖管理机制,能够很好的将mybatis下载并运用到我们的项目中。
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
我们再安装一个mysql的依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
<scope>runtime</scope>
</dependency>
注:如果mybatis 3.5.6的版本报错,一般有以下几种情况:
- 1、
<artifactId>mybatis</artifatId>写成了<artifactId>mybatis-spring</artifatId> - 2、镜像未配置或者出现了问题,我改成了阿里云镜像:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
- 3、电脑问题,重启一下
- 4、如果改成低版本,有些类将会无法使用
mybatis的使用
- 我们使用java创造一个class:
//一个用户的信息
public class User {
private int uid;
private String uname;
private int uage;
//重写
@Override
public String toString() {
return "User{"+"uid="+uid+",uname='"+uname+'''+",uage="+uage+'}';
}
}
- 配置mybatis
<!--mybatis-config.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 >
<properties resource="db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<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>
<!--配置xxxmapper文件位置-->
<mapper resource="xxxMapper.xml"/>
<!-- <mapper resource="org/mybatis/example/BlogMapper.xml"></mapper>-->
</mappers>
</configuration>
- 配置mysql 我们使用数据库管理器快速创建对应的数据库和表,并创建几条数据用来测试
<!--文件名:db.properties-->
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.username=root //配置名称
mysql.password=root //配置密码
mysql.url=jdbc:mysql://localhost:3306/javaee? serverTimezone=UTC&characterEncoding=utf8&userUnicode=true&useSSL=false&allowPublicKeyRetrieval=true //javaee为数据库名称
- 使用mapper写sql语句
<?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">
<!--配置sql路径-绝对路径-->
<mapper namespace="User">
<!--配置sql语句,并赋予唯一标识-->
<select id="findById" parameterType="int" resultType="User">
select * from users where uid=#{id}
</select>
</mapper>
- 我们在test文件夹下测试 进入User.java文件,鼠标放置User类名上,快捷键Ctrl+Shift+T,然后创建自动Usertest
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;
import java.io.InputStream;
public class UseText {
@Test
public void findById() throws Exception{
//1、获取核心配置文件
InputStream is= Resources.getResourceAsStream ( "mybatis-config.xml" );
//2、创建sqlSessionFactory工厂对象,使用单例模式
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder ().build(is);
//3、创建sqlSession对象
SqlSession sqlSession=sqlSessionFactory.openSession ();
//4、执行sql语句、
int id =2;
User user =sqlSession.selectOne ( "User.findById",id);
System.out.println (user);
sqlSession.close ();
}
}