我的第一个Mybatis项目搭建
2024-10-11 01:14:00
1.新建maven项目,目录如下。第一个坑idea目录和eclipse不一样project就像workspace
pom文件 jdk版本有点高建议8.0
<?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>com.wsd</groupId>
<artifactId>myteatbatis</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies> </project>
新建实体类com.itheima.domain.User
package com.itheima.domain; import java.util.Date; public class User {
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address; @Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", birthday=" + birthday +
", sex='" + sex + '\'' +
", address='" + address + '\'' +
'}';
} public Integer getId() {
return id;
} public void setId(Integer 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;
} }
新建dao接口.映射文件配置成findAll()错一个d
package com.itheima.dao; import com.itheima.domain.User; import java.util.List; public interface IUserDao {
List<User> finAll();
}
mybatis.xml 头文件出错使用官方的就好了
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
数据库连接文件应为使用MySQL版本高驱动变了com.mysql.cj.jdbc.Driver
idea不支持&要使用&
jdbc:mysql://192.168.0.226:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
<?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://192.168.0.226:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/itheima/dao/IUserDao.xml"/>
</mappers>
</configuration>
<?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://192.168.0.226:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/itheima/dao/IUserDao.xml"/>
</mappers>
</configuration>
mybatis映射文件
新建实体类的dao接口,以便mybatis框架调用。finAll()要和IUserDao.xml映射文件的中的namespace=com.itheima.dao.IUserDao接口
id=finAll,resultTypr=com.itheima.damain.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="com.itheima.dao.IUserDao">
<select id="finAll" resultType="com.itheima.domain.User">
select * from user
</select>
</mapper>
新建测试类
package com.itheima.test; import com.itheima.dao.IUserDao;
import com.itheima.domain.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 java.awt.*;
import java.io.InputStream;
import java.util.List; public class MyTest {
public static void main(String[] args) throws Exception {
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
SqlSession session = factory.openSession();
IUserDao userDao = session.getMapper(IUserDao.class);
List<User> users = userDao.finAll();
for (User user: users){
System.out.println("-------------------------------------");
System.out.println(user);
}
session.close();
in.close();
} }
数据库设计
最新文章
- 在Eclipse中,如何把一个java项目变成web项目
- [深入浅出WP8.1(Runtime)]网络编程之HttpClient类
- div隐藏
- Javascript之对象的继承
- 让UIWebView弹出键盘上的按钮显示中文
- 1102. Invert a Binary Tree (25)
- 11-C语言指针
- 如何在appconfig中配置服务的ip
- rsync 服务部署详解
- Windows解决anaconda下双python版本安装TensorFlow
- MySQL-Select语句高级应用
- HTML学习笔记3:文字和段落
- [PHP] sys_get_temp_dir()和tempnam()函数报错与环境变量的配置问题
- BZOJ4314 倍数?倍数!
- HBase学习笔记1 - 如何编写高性能的客户端Java代码
- Redis的Errorlog或者启动日志(错误日志)的配置
- Akka-Cluster(1)- Cluster Singleton 单例节点
- memcache、redis原理对比
- day 10 函数名的运用,闭包,迭代器
- Getting Started with Google Tango(Google Tango开始教程)