Mybatis_Mybatis入门案例
导入jar包

pojo包
com.bjsxt.pojoUsers {
String String () {
}
(userid) {
.= userid}
String () {
}
(String username) {
.= username}
String () {
}
(String usersex) {
.= usersex}
}
mybatis-cfg.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文件-->
<properties resource="db.properties"/>
<!--环境的配置-->
<environments default="development">
<environment id="development">
<!--配置事务-->
<transactionManager type="JDBC"></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/bjsxt/mapper/UsersMapper.xml"/>
</mappers>
</configuration>
bd.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/bjsxt
jdbc.username=root
jdbc.password=root
mapper包
select * from users
dao包
com.bjsxt.daocom.bjsxt.pojo.Usersjava.io.IOExceptionjava.util.ListUsersDao {
List<Users> () IOException}
impl包
package com.bjsxt.dao.impl;
import com.bjsxt.dao.UsersDao;
import com.bjsxt.pojo.Users;
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.io.IOException;
import java.io.InputStream;
import java.util.List;
public class UsersDaoImpl implements UsersDao {
/**
* 查询所有用户
* @return
*/
@Override
public List<Users> selectUsersAll() throws IOException {
//创建SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-cfg.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//获取SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//通过SqlSession对象下的API完成对数据库的操作
List<Users> list = sqlSession.selectList("com.bjsxt.mapper.UserMapper.selectUsersAll");
//关闭SqlSession对象
sqlSession.close();
return list;
}
}
test包
com.bjsxt.testcom.bjsxt.dao.UsersDaocom.bjsxt.dao.impl.UsersDaoImplcom.bjsxt.pojo.Usersjava.io.IOExceptionjava.util.ListTest {
(String[] args)IOException {
UsersDao usersDao = UsersDaoImpl()List<Users> list = usersDao.selectUsersAll()(Users users:list){
System..println(users.getUserid()++users.getUsername()++users.getUsersex())}
}
}
报警
D:\Java\jdk1.8.0_192\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1\lib\idea_rt.jar=52913:C:\Program Files\JetBrains\IntelliJ IDEA 2020.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java\jdk1.8.0_192\jre\lib\charsets.jar;D:\java\jdk1.8.0_192\jre\lib\deploy.jar;D:\java\jdk1.8.0_192\jre\lib\ext\access-bridge-64.jar;D:\java\jdk1.8.0_192\jre\lib\ext\cldrdata.jar;D:\java\jdk1.8.0_192\jre\lib\ext\dnsns.jar;D:\java\jdk1.8.0_192\jre\lib\ext\jaccess.jar;D:\java\jdk1.8.0_192\jre\lib\ext\jfxrt.jar;D:\java\jdk1.8.0_192\jre\lib\ext\localedata.jar;D:\java\jdk1.8.0_192\jre\lib\ext\nashorn.jar;D:\java\jdk1.8.0_192\jre\lib\ext\sunec.jar;D:\java\jdk1.8.0_192\jre\lib\ext\sunjce_provider.jar;D:\java\jdk1.8.0_192\jre\lib\ext\sunmscapi.jar;D:\java\jdk1.8.0_192\jre\lib\ext\sunpkcs11.jar;D:\java\jdk1.8.0_192\jre\lib\ext\zipfs.jar;D:\java\jdk1.8.0_192\jre\lib\javaws.jar;D:\java\jdk1.8.0_192\jre\lib\jce.jar;D:\java\jdk1.8.0_192\jre\lib\jfr.jar;D:\java\jdk1.8.0_192\jre\lib\jfxswt.jar;D:\java\jdk1.8.0_192\jre\lib\jsse.jar;D:\java\jdk1.8.0_192\jre\lib\management-agent.jar;D:\java\jdk1.8.0_192\jre\lib\plugin.jar;D:\java\jdk1.8.0_192\jre\lib\resources.jar;D:\java\jdk1.8.0_192\jre\lib\rt.jar;D:\code\servlet\mybatisdemo\out\production\mybatisdemo;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\asm-7.1.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\cglib-3.3.0.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\ognl-3.2.14.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\log4j-1.2.17.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\mybatis-3.5.5.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\log4j-api-2.13.3.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\slf4j-api-1.7.30.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\log4j-core-2.13.3.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\commons-logging-1.2.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\javassist-3.27.0-GA.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\slf4j-log4j12-1.7.30.jar;D:\SSM 框架和项目开发 Mybatis\SSM 框架和项目开发 Mybatis\软件\lib\mysql-connector-java-5.1.48.jar" com.bjsxt.test.Test
log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Thu Dec 31 13:19:56 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
### The error may exist in com/bjsxt/mapper/UsersMapper.xml
### The error may involve com.bjsxt.mapper.UserMapper.selectUsersAll
### The error occurred while executing a query
### Cause: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:135)
at com.bjsxt.dao.impl.UsersDaoImpl.selectUsersAll(UsersDaoImpl.java:27)
at com.bjsxt.test.Test.main(Test.java:13)
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:864)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1707)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1217)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2189)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:768)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:224)
at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:219)
at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:95)
at org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:432)
at org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:89)
at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:139)
at org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:61)
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:89)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
... 4 more
Process finished with exit code 1