eclipse mybatis3配置mysql 实现增删改查

参考书籍:Java Web 轻量级框架项目化教程 缪勇

建立一个 Dynamic Web Project工程

1、 导入jar包

将下列jar包导入到web-content下的lib文件夹下,右键build path

image-20201026170421088

其中

  • junit是java用来测试的包
  • mysql-connector 可以在安装的数据库目录下找到

image-20201026170829734

  • mybatis、hamcrest-core、hamcrest-library 和log4j 为MyBatis需要的jar包

2、在数据库建立数据表

CREATE DATABASE DATABASE_TEST;
use database_test;

#drop table user_info;

create table user_info
(
   id integer primary key,
   userName varchar(16),
   password varchar(16),
   regDate date
);

insert into user_info values(1,'张三',2222,'2019-10-25');
insert into user_info values(2,'李四',111,'2019-10-11');
insert into user_info values(3,'王五',333,'2019-10-13');
insert into user_info values(4,'李泽',9999,'2019-10-17');
insert into user_info values(5,'宋佳',6666,'2019-10-26');

3、根据数据表结构创建实体类

在src目录下新建 com.mybatis.po包,并在其中创建实体类UserInfo(对应数据表user_info)

package com.mybatis.po;

import java.text.SimpleDateFormat;
import java.util.Date;
public class UserInfo {
    private int id;
    private String userName;
    private String password;
    private Date regDate;
    
    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 String getpassword(){
    	return password;
    }
    public void setpassword(String password) {
    	this.password=password;
    }
    public Date getRegDate() {
    	return regDate;
    }
    public void setRegDate(Date regDate) {
    	this.regDate=regDate;
    }
    //构造函数
    public UserInfo() {}
    
    public UserInfo(int id,String userName,String password,Date regDate) {
    	this.id=id;
    	this.userName=userName;
    	this.password=password;
    	this.regDate=regDate;
    }
    
    @Override
    public String toString() {
    	return "UserInfo [id=" + id + ",userName=" + userName +",password=" +password + ".regDate=" 
                +new SimpleDateFormat("yyyy-MM-dd").format(regDate) + "]";
    }
}

4、创建SQL映射的XML文件

在com.mybatis.po包下创建userInfoMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
<mapper namespace="com.mybatis.po.userInfoMapper">

<insert id="addUserInfo" parameterType="UserInfo">
       insert into user_info(id,userName,password,regDate)
       values(#{id},#{userName},#{password},#{regDate})
</insert> 
<delete id="deleteUserInfo" parameterType="int">
       delete from user_info where id=#{id}
</delete>
<update id="updateUserInfo" parameterType="UserInfo">
       update user_info set userName=#{userName},password=#{password},regDate=#{regDate} where id=#{id}
</update>
<select id="getUserInfoById" parameterType="int" resultType="UserInfo">
       select * from user_info where id= #{id}
</select>
<select id="getAllUserInfo" resultType="UserInfo">
       select * from user_info
</select>
</mapper>
                                                                          

实际上在安装好的mybatis-3-mybatis-3.5.0\mybatis-3-mybatis-3.5.0\src\test\java\org\apache\ibatis\submitted\complex_property文件夹下有一个Configuration.xml 根据这个文件模板修改自己的数据库类型以及用户名、密码等

5、创建属性文件db.properties

在src目录下创建,保存数据库的连接信息。

直接选择file,自己输入properties后缀

image-20201026172156908

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/database_test?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT&useSSL=false
jdbc.username=#####
jdbc.password=#####

6、创建XML映射配置文件

在src目录下创建mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!--

       Copyright 2009-2016 the original author or authors.

       Licensed under the Apache License, Version 2.0 (the "License");
       you may not use this file except in compliance with the License.
       You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

       Unless required by applicable law or agreed to in writing, software
       distributed under the License is distributed on an "AS IS" BASIS,
       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       See the License for the specific language governing permissions and
       limitations under the License.

-->
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
  <!-- <settings>
    <setting name="useGeneratedKeys" value="false"/>
    <setting name="useColumnLabel" value="true"/>
  </settings> -->

  <properties resource="db.properties"></properties>
  <typeAliases>
   <!--  <typeAlias alias="UserAlias" type="org.apache.ibatis.submitted.complex_property.User"/> -->
         <package name="com.mybatis.po"/>
  </typeAliases>

  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC">
        <property name="" value=""/>
      </transactionManager>
      <dataSource type="POOLED">    
        <property name="driver" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
      </dataSource>
    </environment>
  </environments>

  <mappers>
    <mapper resource="com/mybatis/po/userInfoMapper.xml"/>
  </mappers>

</configuration>

7、创建测试类

创建Junit测试类MybatisTest.java,存放在com.mybatis.test包下

package com.mybatis.test;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.*;

import com.mybatis.po.UserInfo;

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

import java.util.Date;
import java.util.List;

import org.apache.ibatis.io.Resources;

public class MybatisTest {
	private SqlSessionFactory sqlSessionFactory;
	private SqlSession sqlSession;

	@Before
	public void init() {
		// mybatis配置文件
		String resource = "mybatis-config.xml";
		// 得到配置文件流
		InputStream inputStream;
		try {
			inputStream = Resources.getResourceAsStream(resource);
			// 创建会话工厂,传入mybatis的配置文件信息
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
			// 通过工厂得到SqlSession
			sqlSession = sqlSessionFactory.openSession();

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 添加用户
	@Test
	public void testAddUserInfo() {
		UserInfo ui = new UserInfo(8, "mybatisi", "123456", new Date());
		sqlSession.insert("addUserInfo", ui);
		System.out.println("Insert OK!");
	}

	// 根据id查询用户
	@Test
	public void testGetUserInfoById() {
		// selectOne 查询出一条记录
		UserInfo ui = sqlSession.selectOne("getUserInfoById", 3);
		System.out.println("getUserInfoById OK!");
		System.out.println(ui);
	}

	// 查询所有用户
	@Test
	public void testGetAllUserInfo() {
		List<UserInfo> uiList = sqlSession.selectList("getAllUserInfo");
		System.out.println("getAllUserInfo OK!");
		System.out.println(uiList.size());
//    	 System.out.println(uiList);
	}

	// 修改用户
	@Test
	public void testUpdateUserInfo() {
		// 加载编号id=4的用户
		UserInfo ui = sqlSession.selectOne("getUserInfoById", 4);
		// 修改用户密码
		ui.setpassword("123123");
		// 执行更新操作
		int update = sqlSession.update("updateUserInfo", ui);
		System.out.println("update OK!");
		System.out.println(ui);
	}

	// 删除用户
	@Test
	public void testDeleteUserInfo() {
		int delete = sqlSession.delete("deleteUserInfo", 7);
		System.out.println("delete OK!");
		System.out.println(delete);
	}

	@After
	public void destroy() {
		// 提交事务
		sqlSession.commit();
		// 关闭session
		sqlSession.close();
	}
}

8、配置完成,运行测试类

我的产生了报错,内容如下:

log4j:WARN No appenders could be found for logger (org.apache.hive.jdbc.Utils). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

网上查说是因为日志文件找不到,少日志文件系统配置,我使用的解决方法一,目前一切正常

解决方法一

在src下创建log4j.properties,内容如下(有很多写法,暂列我用的一种)

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
解决方法二

找到log4j.properties,在web.xml中添加内容如下:

<context-param>
   <param-name>log4jConfigLocation</param-name>
   <param-value>/WEB-INF/properties/log4j.properties</param-value>
</context-param>

<listener>
   <listener-class>
    org.springframework.web.util.Log4jConfigListener
   </listener-class>
</listener>

%n


##### 解决方法二

找到log4j.properties,在web.xml中添加内容如下:

```xml
<context-param>
   <param-name>log4jConfigLocation</param-name>
   <param-value>/WEB-INF/properties/log4j.properties</param-value>
</context-param>

<listener>
   <listener-class>
    org.springframework.web.util.Log4jConfigListener
   </listener-class>
</listener>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Eclipse是一种集成开发环境(IDE),可用于开发各种Java应用程序。Spring Boot是一个用于开发独立的、基于Spring的应用程序的框架。MyBatis是一个持久层框架,用于与数据库交互。下面我将简单介绍如何在Eclipse中使用Spring Boot和MyBatis进行增删改查操作。 首先,你需要在Eclipse中创建一个Spring Boot项目。可以使用Spring Initializr(一个Spring Boot项目初始化工具)或手动创建项目。其中,Spring Boot会自动处理很多繁琐的配置,让开发更加简单。 一旦创建项目,你需要引入MyBatis的依赖。可以在项目的pom.xml文件中添加相应的依赖,然后使用Maven或Gradle进行构建。 接下来,你需要在项目中定义实体类(对应数据库表),并在配置文件中设置数据库连接信息。在配置文件中,需要指定数据库的驱动程序、URL、用户名和密码等。Spring Boot会根据这些配置创建数据库连接池,方便你与数据库进行交互。 然后,你需要创建Mapper接口,用于定义数据库操作的方法。可以使用注解或XML文件进行映射。在Mapper接口中,可以定义增删改查等操作对应的方法。 最后,你需要在Service或Controller层中调用Mapper接口的方法来进行数据库操作。可以通过注入Mapper接口的实例,然后调用相应的方法即可实现数据库增删改查操作。 总结起来,使用Eclipse开发Spring Boot项目,可以结合MyBatis进行数据库操作。你需要创建Spring Boot项目、引入MyBatis依赖、定义实体类和Mapper接口、设置数据库连接信息,然后在Service或Controller层中调用Mapper接口的方法进行数据库操作。这样就可以实现简单的增删改查功能了。 ### 回答2: Eclipse是一种集成开发环境(IDE),用于开发Java应用程序。Spring Boot是一个用于简化Spring应用程序开发的框架,大大减少了繁琐的配置工作。MyBatis是一种与数据库交互的持久化框架,通过SQL语句映射Java对象,并且自动处理结果集与对象的映射。 在Eclipse中使用Spring Boot和MyBatis进行增删改查操作可以按照以下步骤进行: 1. 创建一个Spring Boot项目。在Eclipse的菜单中选择File -> New -> Spring Starter Project,填写相关信息,选择适合的依赖包(如Spring Web、MyBatis等)并点击Finish。 2. 创建数据库表。通过数据库管理工具(如MySQL Workbench)创建适当的表结构。 3. 创建实体类。根据数据库表的结构,创建对应的Java类,并使用注解标记类名、属性和与数据库表字段的映射关系。如: ```java @Entity @Table(name = "user") // 对应数据库表名 public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "name") // 对应数据库表字段名 private String name; // 省略getter和setter方法 } ``` 4. 创建Mapper接口。创建一个用于执行数据库操作的Mapper接口,并使用注解标记方法名、参数和SQL语句的映射关系。如: ```java @Mapper public interface UserMapper { @Insert("INSERT INTO user(name) VALUES(#{name})") int insert(User user); @Update("UPDATE user SET name = #{name} WHERE id = #{id}") int update(User user); @Delete("DELETE FROM user WHERE id = #{id}") int delete(Long id); @Select("SELECT * FROM user WHERE id = #{id}") User findById(Long id); } ``` 5. 创建Mapper.xml文件。在resources目录下创建与Mapper接口相同包路径的文件夹,并创建与Mapper接口同名的XML文件,编写SQL语句。如: ```xml <?xml version="1.0" encoding="UTF-8" ?> <mapper namespace="com.example.mapper.UserMapper"> <insert id="insert"> INSERT INTO user(name) VALUES(#{name}) </insert> <update id="update"> UPDATE user SET name = #{name} WHERE id = #{id} </update> <delete id="delete"> DELETE FROM user WHERE id = #{id} </delete> <select id="findById" resultType="com.example.entity.User"> SELECT * FROM user WHERE id = #{id} </select> </mapper> ``` 6. 编写Service和Controller层代码。在Service层调用Mapper接口中的方法执行数据库操作,在Controller层接收请求并调用Service层的方法。如: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public int insert(User user) { return userMapper.insert(user); } public int update(User user) { return userMapper.update(user); } public int delete(Long id) { return userMapper.delete(id); } public User findById(Long id) { return userMapper.findById(id); } } @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @PostMapping("/") public String insert(@RequestBody User user) { userService.insert(user); return "插入成功"; } @PutMapping("/") public String update(@RequestBody User user) { userService.update(user); return "更新成功"; } @DeleteMapping("/{id}") public String delete(@PathVariable("id") Long id) { userService.delete(id); return "删除成功"; } @GetMapping("/{id}") public User findById(@PathVariable("id") Long id) { return userService.findById(id); } } ``` 通过以上步骤,我们可以在Eclipse中使用Spring Boot和MyBatis实现数据库增删改查操作。 ### 回答3: Eclipse是一种常用的集成开发环境(IDE),Spring Boot是一种用于简化Spring应用程序开发的框架,MyBatis是一种轻量级的持久化框架。在Eclipse中使用Spring Boot和MyBatis可以实现增删改查的功能。 首先,我们需要在Eclipse中创建一个Spring Boot项目,并添加所需的依赖项。在pom.xml文件中,添加Spring Boot和MyBatis的相关依赖,以便能够使用它们的功能。 接下来,我们需要配置数据库连接。在application.properties文件中,配置数据库的相关信息,比如数据库的URL、用户名和密码等。这样,我们就能够连接到数据库了。 然后,我们需要创建实体类,用于映射数据库中的表。在实体类中定义相应的属性和方法,以及与数据库中表字段的映射关系。 接着,我们可以编写Mapper接口和Mapper XML文件。Mapper接口用于定义CRUD(增删改查)操作的方法,而Mapper XML文件则用于编写具体的SQL语句。在Mapper XML文件中,可以使用MyBatis提供的一些标签,比如<select>、<insert>、<update>和<delete>等,来实现数据库的操作。 最后,我们可以在适当的地方调用Mapper接口中的方法,以实现增删改查的功能。比如,调用insert方法实现数据的插入,调用update方法实现数据的修改,调用delete方法实现数据的删除,调用select方法实现数据的查询。 以上就是使用Eclipse、Spring Boot和MyBatis实现增删改查的简要过程。通过合理配置和调用相关的类和方法,我们能够方便地操作数据库实现对数据的增加、删除、修改和查询。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值