_JFinalDemoGenerator 连接sqlserver 生成pojo报错

public class _JFinalDemoGenerator {
	
	public static DataSource getDataSource() {
		String jdbcUrl="jdbc:sqlserver://127.0.0.1:1433;databaseName=Parking";
        String user = "sa";
        String password = "123112";
        String driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
		DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl,user,password);
		druidPlugin.start();
		
		return druidPlugin.getDataSource();
	}
    
    public static void main(String[] args) {
        // base model 所使用的包名
        String baseModelPackageName = "com.lastb7.dubbo.common.model.base";
        // base model 文件保存路径
        String baseModelOutputDir = PathKit.getWebRootPath() + "/src/main/java/com/lastb7/dubbo/common/model/base";
        
        // model 所使用的包名 (MappingKit 默认使用的包名)
        String modelPackageName = "com.lastb7.dubbo.common.model";
        // model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径)
        String modelOutputDir = baseModelOutputDir + "/..";
        
        // 创建生成器
        Generator generator = new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);
        // 设置数据库方言
     	generator.setDialect(new SqlServerDialect());
        // 设置是否生成链式 setter 方法
        generator.setGenerateChainSetter(false);
        // 添加不需要生成的表名
   		generator.addExcludedTable("dt_article_goods_spec");
 		generator.addExcludedTable("dt_user_attach_log");
 		generator.addExcludedTable("PayModeDelete");
 		generator.addExcludedTable("PayModeUpdate");
 		generator.addExcludedTable("Sheet");
        generator.addExcludedTable("adv");
        // 设置是否在 Model 中生成 dao 对象
        generator.setGenerateDaoInModel(true);
        // 设置是否生成链式 setter 方法
        generator.setGenerateChainSetter(true);
        // 设置是否生成字典文件
        generator.setGenerateDataDictionary(false);
        // 设置需要被移除的表名前缀用于生成modelName。例如表名 "osc_user",移除前缀 "osc_"后生成的model名为 "User"而非 OscUser
        generator.setRemovedTableNamePrefixes("t_");
        // 生成
        generator.generate();
    
        
        // 生成ApiModelKit.java
        // ApiModelKit 所使用的包名
        String apiModelKitPackageName = "com.lastb7.dubbo.common.model";
        // 继承com.jfinal.plugin.activerecord.Table类 存放位置的包路径名
        String extendsTablePackageName = "com.lastb7.dubbo.generator.Table";
        // ApiModelKit 文件保存路径 (与MappingKit同目录)
        String apiModelKitOutputDir = PathKit.getWebRootPath() + "/src/main/java/com/lastb7/dubbo/common/model/";
        // 生成
        generatorApiModelKit(getDataSource(), apiModelKitPackageName, extendsTablePackageName, apiModelKitOutputDir);
        
    }
}


连接SQLserver 报错: 

Build TableMeta ...
Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerDriver
	at com.jfinal.plugin.activerecord.generator.MetaBuilder.build(MetaBuilder.java:102)
	at com.jfinal.plugin.activerecord.generator.Generator.generate(Generator.java:217)
	at com.lastb7.dubbo.generator._JFinalDemoGenerator.main(_JFinalDemoGenerator.java:88)
Caused by: java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerDriver
	at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:510)
	at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:563)
	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:876)
	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:872)
	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:97)
	at com.jfinal.plugin.activerecord.generator.MetaBuilder.build(MetaBuilder.java:90)
	... 2 more
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:508)
	... 7 more

2019-02-21 10:25:13
[ERROR]-[Thread: main]-[com.alibaba.druid.pool.DruidDataSource.init()]: dataSource init error
java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerDriver
	at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:510)
	at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:563)
	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:876)
	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:872)
	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:97)
	at com.jfinal.plugin.activerecord.generator.MetaBuilder.build(MetaBuilder.java:90)
	at com.jfinal.plugin.activerecord.generator.Generator.generate(Generator.java:217)
	at com.lastb7.dubbo.generator._JFinalDemoGenerator.main(_JFinalDemoGenerator.java:88)
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:508)
	... 7 more

不知道哪里错误,maven中也有SQLServer 的jar包,


评论区

邶风

2019-02-21 10:43

@对呀 jdk5 开始要用sqljdbc4.jar

邶风

2019-02-21 10:48

dependency的scope注掉

JFinal

2019-02-21 12:12

Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

缺少依赖,或依赖有冲突,解决 ClassNotFoundException 问题是 java 基础

对呀

2019-02-22 15:33

@邶风 嗯嗯,是要把scope注解掉

对呀

2019-02-22 16:29

@JFinal 谢谢波总

热门反馈

扫码入社