mysql脚本文件
/*
Navicat MySQL Data Transfer
Source Server : linshun
Source Server Version : 60011
Source Host : localhost:3306
Source Database : mybatis
Target Server Type : MYSQL
Target Server Version : 60011
File Encoding : 65001
Date: 2019-09-08 17:25:23
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `orders`
-- ----------------------------
DROP TABLE IF EXISTS `orders`;
CREATE TABLE `orders` (
`o_id` char(11) DEFAULT NULL,
`o_name` varchar(50) DEFAULT NULL,
`o_price` float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of orders
-- ----------------------------
-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`s_id` char(11) NOT NULL DEFAULT '',
`s_name` varchar(50) DEFAULT NULL,
`s_age` int(11) DEFAULT NULL,
PRIMARY KEY (`s_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('17034002153', 'Mary', '12');
INSERT INTO `user` VALUES ('17034002154', 'linshun', '17');
INSERT INTO `user` VALUES ('18034001128', 'wb', '18');
java实体类
package com.whtcc.bean;
public class User {
private String s_id;
private String s_name;
private int s_age;
public User(String s_id, String s_name, int s_age) {
this.s_id=s_id;
this.s_name=s_name;
this.s_age=s_age;
}
public User() {
super();
}
public String getS_id() {
return s_id;
}
public void setS_id(String s_id) {
this.s_id = s_id;
}
public String getS_name() {
return s_name;
}
public void setS_name(String s_name) {
this.s_name = s_name;
}
public int getS_age() {
return s_age;
}
public void setS_age(int s_age) {
this.s_age = s_age;
}
public String toString() {
return "User [s_id=" + s_id + ", s_name=" + s_name + ", s_age=" + s_age
+ "]";
}
}
----------------------------------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">
<!-- mybatis的核心配置文件 -->
<configuration>
<!-- 属性 ,一般在里面配置数据库的参数-->
<properties>
<property name="a" value="com.mysql.jdbc.Driver"/>
<property name="b" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>
<property name="c" value="root"/>
<property name="d" value="whtcc"/>
</properties>
<environments default="stuinfo">
<!-- 一个 environment表示配置一个数据库-->
<environment id="stuinfo">
<!-- 使用jdbc的事务,以后学了spring,事务交给spring管理,就不需要在mybatis中配置事务 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据库参数 -->
<dataSource type="POOLED">
<property name="driver" value="${a}"/>
<property name="url" value="${b}"/>
<property name="username" value="${c}"/>
<property name="password" value="${d}"/>
</dataSource>
</environment>
</environments>
<!-- 配置映射文件路径 -->
<mappers>
<mapper resource="sqlMapper/User.xml"/>
</mappers>
</configuration>
----------------------------------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">
<!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 -->
<mapper namespace="user">
<select id="user.getUsers" resultType="com.whtcc.bean.User">
select * from user
</select>
<select id="user.findById" parameterType="string" resultType="com.whtcc.bean.User">
select * from user where s_id = #{s_id}
</select>
<!-- 根据id查询用户 -->
<!--
id:是sql语句的唯一标示,同一个命名空间不能有相同的id
parameterType:输入参数类型,就是java重的基本数据类型的加上String
resultType:输出参数类型,如果输出类型是一个对象,那么就要指出该类的全路径
-->
<select id="user.insertinfo" parameterType="com.whtcc.bean.User">
insert into user values(#{s_id},#{s_name},#{s_age})
</select>
<select id="user.deleteinfo" parameterType="com.whtcc.bean.User">
delete from user where s_id=#{s_id}
</select>
<select id="user.updateinfo" parameterType="com.whtcc.bean.User">
update user set s_name=#{s_name},s_age=#{s_age} where s_id = #{s_id}
</select>
</mapper>
-------------------------------------------------日志文件------------------------------------------
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
----------------------------------------------测试类----------------------------------------
package com.whtcc.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
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 com.whtcc.bean.User;
public class Mybatis_test {
private static final User User = null;
//创建sql连接工厂方法
public static SqlSession sqlSession=null;
public static SqlSessionFactory sqlSessionFactory = null;
static{
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream("sqlMapConfig.xml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
sqlSession = sqlSessionFactory.openSession();
}
//查询数据表全部信息
private void getUsers() {
List<User> list = sqlSession.selectList("user.getUsers");
System.out.println(list);
sqlSession.close();
}
//根据id查询数据表信息
private void findById(String s_id) {
User user= sqlSession.selectOne("user.findById",s_id);
System.out.println(user);
sqlSession.close();
}
//向数据库中添加信息
private void insertinfo(User user) {
sqlSession.insert("user.insertinfo",user);
sqlSession.commit();
sqlSession.close();
}
//向数据表中删除信息
private void deleteinfo(String s_id) {
sqlSession.delete("user.deleteinfo",s_id);
sqlSession.commit();
sqlSession.close();
}
//修改数据表中的信息
private void updateinfo(String s_id) {
User user= sqlSession.selectOne("user.findById",s_id);
user.setS_name("Mary"); //要修改的值
sqlSession.delete("user.updateinfo",user);
sqlSession.commit();
sqlSession.close();
}
public static void main(String[] args) throws IOException {
//new Mybatis_test().insertinfo(user1);
//new Mybatis_test().deleteinfo("17034002153");
//new Mybatis_test().insertinfo(new User("18034001128","wb",18));
//new Mybatis_test().deleteinfo("17034002155");
//new Mybatis_test().updateinfo("17034002153");
}
}