准备工作:idea最新社区版(加了汉化,我比较喜欢用) ,MySQL数据库,maven(我用的社区版自带),还有一个帅气的脑壳
入门程序的编写一共分为四部分
目录
1.搭建项目
直接在构建系统选创建maven工程就可以了
引入依赖
在pom.xml里面直接复制黏贴我这段代码就可以了,有网络的话idea会自己下载的
<?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>org.example</groupId>
<artifactId>untitled</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>15</maven.compiler.source>
<maven.compiler.target>15</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
有时候会标红,是下载不了,可以点右上角的maven处的刷新按钮,多刷几次就行了
需要注意的是,有时候idea的版本太高,而maven版本太高也是会疯狂标红,这时可以删除以前下载过的依赖文件,然后重新下载一个低版本的maven,或者更换新版idea也可以解决问题的,原因有很多,有时候不兼容是很正常的。
2.配置文件
配置mybatis的核心文件,更详细的可以去官网查看mybatis的文档
在resources文件夹下面创建一个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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&userSSL=false&serverTimezone=GMT%2B8"/>
<property name="username" value="root"/>
<property name="password" value="你自己的数据库密码"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- <mapper resource="org/mybatis/example/BlogMapper.xml"/>-->
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
我的数据库名为mybatis,所以代码里面的参数也是mabatis,密码你们填自己的数据库密码就可以了
连接数据库的配置还有一种方式的,就是再建一个db.propertise的文件,而且这种方式更加常用,但是我比较懒,直接填也是一样的
3.准备数据
随便用指令或者navicat创建个数据库,我是偷懒用的navicat,主要是sql语句忘了很多,过几天我会复习数据库,到时候会写一些关于数据安装和数据库学习的博客
创建表user
随便填点数据
一般我们用pojo来表示封装的Java对象,所以在src\main\java文件夹下面创建一个pojo包
,在pojo包下面创建User类
快速生成seter和geter方法
package pojo;
public class User {
private int uid;
private String uname;
private int uage;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
}
4.编写映射文件和测试类
编写映射文件 UserMapper.xml
在src\main\resources下创建mapper文件夹,在此文件夹下创建UserMapper.xml文件用于配置sql语句和java对象之间的映射
<?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="pojo.User">
<select id="findById" parameterType="int"
resultType="pojo.User">
select * from users where uid = #{id}
</select>
</mapper>
记得在核心配置文件mabatis-config.xml中添加配置
<mappers>
<!-- <mapper resource="org/mybatis/example/BlogMapper.xml"/>-->
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
最后在src\test\java下编写测试类Usertest
import pojo.User;
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. IOException;
import java.io.Reader;
public class UserTest {
@Test
public void userFindByIdTest(){
String resources = "mybatis-config.xml";
Reader reader=null;
try{
reader=Resources.getResourceAsReader(resources);
}catch (IOException e){
e.printStackTrace();
}
SqlSessionFactory sqlMapper;
sqlMapper = new SqlSessionFactoryBuilder().build(reader);
SqlSession session=sqlMapper.openSession();
User user=session.selectOne("findById",1);
System.out.println(user.getUname());
session.close();
}
}
运行